Archive for the ‘Microsoft’ Category
Recuperare l’ownership della propria istanza Sql Server Express 2008
mercoledì, dicembre 14th, 2011
Cercando documentazione relativa al maintenance mode di Sql Server mi sono imbattuto in questo shell script (http://code.msdn.microsoft.com/addselftosqlsysadmin/) che permette di assegnare i privilegi di sysadmin sull’istanza locale di Sql Server Express all’utente con cui ci si è loggati sul proprio OS (o ad un qualsiasi altro specificato come parametro); per farlo, ovviamente, l’utente in oggetto dovrà far parte del gruppo “Administrators” locale.
Uno degli scenari dove questo script è particolarmente utile è il seguente:
quando sql server express viene installato da uno specifico utente, un secondo utente che proverà ad utilizzare il servizio, godendo dei soli privilegi minimi, non potrà creare database, tabelle o altre tipologie di oggetti. Questo accade perchè l’utente owner dell’installazione è il solo a cui è garantito il ruolo da sysadmin, ergo, il secondo utente pur facendo parte del gruppo degli amministratori del sistema operativo non potrà in alcun modo gestire l’istanza locale del rdbms light di Microsoft. Il problema diventa ancor più grave quando l’utente che ha effettuato l’installazione viene per qualsiasi motivo eliminato dal sistema non potento, quindi, utilizzarlo per poter riassegnare manualmente ad altri utenti il ruolo da sysadmin.
Ai tempi di Sql Server Express 2005, Microsoft aveva deciso di garantire il ruolo da sysadmin a tutto il gruppo degli amministratori locali del OS permettendo, quindi, agli utenti di avere l’ownership dell’istanza in maniera praticamente trasparente. Putroppo, con l’introduzione del UAC su Windows Vista questa decisione ha introdotto problemi di usabilità generale ad esempio su Visual Studio. L’UAC, per sua natura, nascondendo il token di sicurezza da “Adminsitrator” al processo di Visual Studio non permetteva la gestione completa del server DB direttamente dalla GUI del IDE Microsoft: l’utente era quindi costretto a lanciare VS in “elevated mode” (per inciso col “Run as Administrator”) che è generalmente una pratica non consigliabile.
Lo script automatizza i seguenti steps:
- restart del servizio SQL Server con l’ozione –m (maintenance mode) che permette una singola connessione da un admin box (aggiunto automaticamente ed in maniera temporanea al ruolo sysadmin del server);
- connessione all’istanza SQL e aggiunta dell’utente specificato al ruolo sysadmin;
- restart del servizio SQL in modalità standard;
.. perfetto per “riguadagnare” la proprietà
del proprio server in pochissimi secondi.
administrator, maintenance mode, Microsoft, owner, shell script, SQL Server Express 2008, sysadmin
IT Pro, Microsoft, Sql Server, Tools | No Comments »
Windows Developer Preview, installazione da HDD USB e l’importanza del codice opensource.
venerdì, settembre 16th, 2011
E’ ormai “notizia consumata” il fatto che Microsoft in occasione della “Build Windows” Conference in quel di Anaheim, California, martedi sera abbia annunciato e reso disponibile la prima build pubblica di Windows 8 (per gli amici Windows Developer Preview).
Inutile ribadire il good mood che si è generato sul web intorno alla prossima release di Windows grazie anche all’ottima strategia di comunicazione che Microsoft sta adottando da qualche mese a questa parte basata anche su lavoro di Steven Sinofksy (che in questi giorni si è “trasformato” nel nuovo Steve Jobs
) e del suo mega team.
Era ormai un mese che seguivo gli sviluppi del nuovo OS grazie soprattutto al blog del Windows engineering team (http://blogs.msdn.com/b/b8/), ma nella spettacolare presentazione di martedi ho visto praticamente “materializzarsi” tutte le novità che erano state annunciate ed abbondantemente discusse nei commenti dei posts.
L’annuncio della disponibilità di una beta \ preview pubblica se lo aspettavano un po tutti, ergo mentre seguivo la keynotes del day 1 in streaming preparavo la partizione estesa sul hdd del mio laptop per poter “accogliere” il nuovo Windows. A fine keynotes avevo il download manager che puntava a http://msdn.microsoft.com/en-us/windows/apps/br229516.
Nella notte di mercoledi la blogosfera si è letteralmente riempita di guide, howto e posts tutti relativi all’installazione di WDP usando varie tecniche (VM su VPC, VM su VirtualBox, installazione nativa, etc). Personalmente, avendo “preparato” appositamente il mio laptop, a fine download, ero pronto per una bella installazione nativa che mi facesse godere a pieno del nuovo OS, ma l’ostacolo era dietro l’angolo: le dimensioni del img ISO WindowsDeveloperPreview-64bit-English-Developer (quella con I developer tool inclusi)di ben 4.8 GB.
E qui vengo all’oggetto di questo post: per usare quella ISO in un’installazione nativa c’è la necessità di avere o una pendrive da 8GB o un DVD9, ma a me mancavano entrambi e non potevo aspettare di procurarmeli … dovevo provare WDP, i nuovi tools di sviluppo (VS 2011 Express e Blend 5), la nuova API per le app metro style, subito
.
L’alternativa possibile per chi come me è sprovvisto di un pendrive “larga” e non si ritrova un DVD9 sottomano e quella di usare un HDD USB.
Nel mio caso l’HDD aveva i suoi 500GB tutti spalmati su un’unica partizione, per cui ho dovuto usare la live di gparted (gparted è un software che fa da partition manager e che gira su GNU/Linux http://gparted.sourceforge.net/) per poter “tirare fuori” dalla partizione principale una secondaria da 10 GB da usare come supporto per l’installazione di WDP.
Lo step successivo è stato quello di caricare il contenuto della ISO nella nuova partizione (necessariamente NTFS perchè ci sono file nel setup di WDP con peso sup. a 4GB) e renderla bootabile in modo da poter sfruttare il boot da device USB supportato dai BIOS moderni.
Mi era già capitato di installare Win7 da pendrive USB ed in quel caso avevo usato l’ottimo e super user friendly tool di Microsoft “Windows 7 USB/DVD download tool” (sempre per gli amici WUDT) (link) per cui ho deciso di riutilizzarlo.
Quindi .. Step 1: selezione della ISO,
Step 2: media type USB Device
STEP 3: … ecco il secondo problema: il software non supportava HDD USB ma solo drive removibili (pen drive USB).
Leggendo la documentazione dal sito ufficiale, pare che questa sia stata una scelta by design. Essendo, come dicevo super user friendly
, i suoi sviluppatori hanno deciso di evitare che qualche utente distratto potesse formattarsi l’HD sbagliando la selezione da quella dropdownlist.
Poi, però, mi sono ricordato di aver letto che di questo tool erano disponibili i sorgenti su codeplex. Una ricerca da codeplex.com .. ed istantaneamente “pesco” la pagina ufficiale:
Leggendo la documentazione “dev oriented” ho scoperto che in realtà I sorgenti di WUDT sono già inclusi nell’installer standard scacaricabile da MS Store, ed infatti in :
%userprofile%\AppData\Local\Apps\Windows 7 USB DVD Download Tool
ci ho trovato un bel wudtsource.zip pronto per essere “esplorato”.
La modifica è stata più che banale.
Aperta la solution in VS 9, ho subito notato quel “DriveService”:
… si tratta della classe astratta da cui poi ereditano DvdDriveService e UsbDriveService. Ovviamente, la mia modifica era da fare su quest ultimo.
Aperto il file UsbDriveService.cs, il “blocco by design” si nota subito :
/// <summary> /// Initializes the list of drives to work with. /// </summary> /// <returns>The result of the initialization.</returns> public override DriveStatus Initialize() { return this.Initialize(DriveType.Removable); }
ed il conseguente codice di inizializzazione:
/// <summary> /// Initializes the list of drives to work with. /// </summary> /// <param name="type">The type of drives to get.</param> /// <returns>The result of the initialization.</returns> protected DriveStatus Initialize(DriveType type) { this.drives = new List<DriveInfo>(); var result = DriveStatus.Ready; DriveInfo[] devices = DriveInfo.GetDrives(); foreach (var drive in devices) { if (drive.DriveType == type) { this.drives.Add(drive); } } if (this.Drives.Count <= 0) { result = DriveStatus.NoDevices; } return result; }
Le possibilità, quindi, sono due:
1) modificare l’enumerable nel metodo in ovverride, scegliendo in base alle proprie esigenze, tra:
// Summary: // Defines constants for drive types, including CDRom, Fixed, Network, NoRootDirectory, // Ram, Removable, and Unknown. [Serializable] [ComVisible(true)] public enum DriveType { // Summary: // The type of drive is unknown. Unknown = 0, // // Summary: // The drive does not have a root directory. NoRootDirectory = 1, // // Summary: // The drive is a removable storage device, such as a floppy disk drive or a // USB flash drive. Removable = 2, // // Summary: // The drive is a fixed disk. Fixed = 3, // // Summary: // The drive is a network drive. Network = 4, // // Summary: // The drive is an optical disc device, such as a CD or DVD-ROM. CDRom = 5, // // Summary: // The drive is a RAM disk. Ram = 6, }
2) eliminare il controllo dal metodo init protected:
foreach (var drive in devices) { //if (drive.DriveType == type) //{ this.drives.Add(drive); //} }
L’effetto della 2° scelta è facilmente intuibile:
.. ho avuto quindi la possibilità di scegliere la mia partizione su HDD USB preparata ad-hoc per accogliere la ISO di installazione di WDP.
Il resto è procedura standard.
Ne approfitto, per chi volesse provare WDP usando un VHD, l’ottimo post di Scott Hanselman:
Microsoft, WDP, Windows, Windows 8
.NET Framework, Microsoft, Windows | No Comments »
Microsoft acquisisce Teamprise da SourceGear
martedì, novembre 10th, 2009
Apprendo questa notizia bomba dal blog di Brian Harry.
Era ormai qualche anno che il team di Microsoft lavorava con gli sviluppatori di SourceGear per rendere il prodotto Teamprise sempre “più simile” al TeamExplorer di Visual Studio; finalmente integrando tutto in un’unica soluzione la suite di BigM coprirà buona parte di tutte le necessità di ALM in ambienti di sviluppi tecnologicamente eterogenei
Teamprise sarà integrato nella product-line di Visual Studio 2010 ed includerà:
- Teamprise plugin for Eclipse: bugtracking, source control management, gestione build, reporting etc. direttamente da Eclipse e in tutti gli altri IDE basati su quest ultimo (JBoss, BEA Workshop, Rational Application Developer .. per gli amici RAD, Adobe Flex Bulder, APTANA Studio etc.);
- Teamprise Explorer: tutte le funzionalità incluse nel plug-in per Eclipse potranno essere utilizzate anche tramite questo software stand-alone, perfetto quindi per i componenti del team non strettamente legati allo sviluppo (graphic designer, quality assurance testers e project managers);
- Teamprise Command-Line Client: un’interfaccia non grafica, cross-platform per interfacciarsi al Team Foundation Server, perfetta per lo scripting e per gli scenari di build.
Il “trittico” potrà essere acquistato separatamente (si parla di ~700$USD) e sarà disponinbile per tutti i subscriber MSDN e tutti quelli che acquisteranno Visual Studio 2010 Ultimate.
Per approfondimenti :
- annuncio su Microsoft PressPass : http://www.microsoft.com/presspass/press/2009/nov09/11-09teamprisepr.mspx
- nuova sezione prontamente aperta sul sito Microsoft: http://www.microsoft.com/pathways/teamprise/default.htm
Microsoft, SourceGear, Teamprise, Visual Studio, Visual Studio 2010
Microsoft, Visual Studio | No Comments »
Microsoft BizSpark un “aiuto” per le startups
domenica, giugno 21st, 2009
Torno a bloggare dopo un lungo periodo di stand-by dovuto a vari impegni (avrei “in canna” tanti posts interessanti, ma nonostante passi ore e ore per lavoro difronte ad un PC il tempo per aprire WLW e buttare giù il post è veramente poco).
Veniamo alla news che ritengo veramente una “chicca”.
Apprendo, leggendo il blog di Soma (S. Soma Somasgear – Responsabile di tutto il settore sviluppo di MS), del programma Microsfot BizSpark destinato alle startup companies di tutto il mondo.
Si tratta, praticamente, di un programma di parterniship che permette alle aziende “accettate” di usufruire per i primi 3 anni di attività di tutto il “parco” software Microsoft, del supporto e della visibilità pubblicitaria offerta da BizSpark stesso, senza alcun costo di up-front, semplicemente una fee di uscita di 100$ USD.
L’elenco del materiale a cui è possibile accedere gratis è veramente “succulento” :
- Tutto il software standard di una subscription VSTS – MSDN Premium;
- Expression Studio;
- VSTS Team Foundation Server Standard Edition;
I requisiti che le aziende dovrebbe rispettare sono i seguenti :
- Core business basato principalmente sullo sviluppo di prodotti software pacchettizzati o SaS;
- La proprietà dell’azienda deve essere privata;
- Costituita da meno di 3 anni;
- Revenue annuale generato < di $1 Milione USD ( in realtà questo valore differisce per gruppi di nazioni, ad. es. il revenue per Egitto, Turchia, Vietnam è fissato a $250K USD)
Inoltre, se i proditti, progettati e sviluppati durante il periodo di partecipazione al programma, saranno venduti come servizi (SaS) in modalità ASP, BizSpark permette di usufruire, sempre gratuitamente, dell’infrastruttura software necessaria all’ambiente di produzione :
- Windows Server (tutte le edizioni, anche Enterprise);
- SQL Server;
- Sharepoint Portal Server;
- System Center;
- BizTalk Server;
- Dynamics CRM;
- Windows Azure Service Platform;
Interessante, come accennavo prima, anche la questione della visibilità. Tramite BizSpark DB le startups hanno l’opportunità di mostrare il proprio expertise e il proprio portfolio a potenziali investitori, partners e clienti anche grazie all’aiuto delle “recensioni” che BigM farà sul sito MicrosoftStartupZone.com.
Un esempio di startup che ha avuto accesso a BizSpark, riportata anche da Soma, è “After-Mouse.com”, azienda francese nata per lo sviluppo di soluzioni WPF \ Silverlight che fanno uso della piattaforma Microsoft Surface.
E’ possibile reperire maggiori infos direttamente sul website ufficiale di BizSpark (http://www.microsoftstartupzone.com/BizSpark).
Business, Microsoft | 1 Comment »
Piccoli developers crescono … con Microsoft SmallBasic
martedì, novembre 11th, 2008
I miei primi passi da dev li ho fatti utilizzando il mitico Turbo Pascal di Borland (che strano dopo tutti questi anni mi ritrovo ancora a lavorare con strumenti progettati da Anders Hejlsberg, sarà un caso??
. Successivamente mi buttai rapidamente a capofitto su C/C++ scrivendo videogiochi (piccoli shotemup 2D) utilizzando la lib Allegro (ancora in pieno sviluppo) su compilatori come Cygwin (uno dei porting di gcc su windows) e Watcom C++ (bei tempi quelli dell’extender a 32 bit DOS4GW
)
Al giorno d’oggi avvicinare i bambini allo sviluppo software è diventata una pratica molto semplice grazie alla miriade di linguaggi e di strumenti dedicati. Ultimo ritrovato è Microsoft SmallBasic, un progetto dei DevLabs di BigM che fornisce un linguaggio semplice, basato su BASIC, con a supporto un IDE userfriendly dove non mancano funzionalità apprezzate anche dai “grandi” come l’Intellisense e l’instant context sensitive help, il tutto ovviamente con pieno supporto al .NET Framework.
Il linguaggio, completamente imperativo, conta appena 15 keywords, abbastanza per approcciare ai concetti base di qualsiasi linguaggio (statement condizionali, loops, etc.).
Il semplice ambiente di sviluppo è composto essenzialmente dalla Toolbar (2) , l’Editor (1) e la Surface Area (3) mentre l’Intellisense sfrutta anche esso l’interfaccia basata su ribbon.
Maggiori info sono disponibili nel documento di “getting starting guide” scaricabile dal sito ufficiale dedicato al progetto.
.NET Framework, Microsoft, Tools | No Comments »
Utilizzare Visual Studio 2005 con Team Foundation Server 2008
martedì, settembre 30th, 2008
Al momento dell’implementazione di un’infrastruttura di gestione dello sviluppo software basata su Team Foundation Server 2008 ci si scontra sempre con la questione di gestire il cosiddetto “backlog” che in questo caso altro non sono che progetti realizzati con Visual Studio 2005. Ovviamente siccome non è sempre possibile convertire le solutions VS2005 in formato VS2008 a causa di varie problematiche, soprattuto di tipo organizzativo, nasce la necessità di utilizzare l’IDE in versione 2005 con la nuova versione del server. Microsoft si è sforzata di rendere il più possibile compatibile Team Explorer 2005 con il nuovo TFS, a patto comunque di installare qualche patch. La procedura è molto semplice :
1) installare Team Explorer 2005 per aggiungere le funzionalità client (aprire progetti su TFS, crearne di nuovi, etc);
NB : creando un nuovo progetto su TFS da Team Explorer 2005 si ottiene come risultato l’errore “TF30170 : The plugin Microsoft.ProjectCreationWizard.Portal failed during task SharePointPortal from group Portal”. Questa anomalia è dovuta al fatto che Team Exploref 2005 non è compatibile con Windows Sharepoint Services v3.0 proprio perchè TFS 2005 usava la versione 2.0 (maggiori info sul blog di uno dei program manger di VS Brian Harry). Tuttavia Microsoft, come indicato nel post di Brian, tempo fa ha rilasciato una patch per la risoluzione di questa anomalia;
2) applicare la patch KB932544 (download) per risolvere la problematica descritta sopra;
3) reinstallare VS 2005 SP1. L’installazione della patch 932544 riporta l’assembly Microsoft.VisualStudio.teamfoundation.teamexplorer.dll ad una versione precedente alla 8.0.50727.762 necessaria invece per l’interazione con WSS 3.0. Di conseguenza andrà riapplicato SP1 per allinearsi con l’ultima release di Microsoft;
Legacy, Microsoft, Team Foundation Server, Visual Studio | No Comments »
Windows Live standalone installer
venerdì, luglio 11th, 2008
Molti avranno notato che Microsoft rilasciando la suite di software Windows Live (Messenger, Mail, Live Writer etc.) ha anche deciso di non fornire più i setup per effettuare installazioni standalone. Attualmente l’unico file distribuito sul sito ufficiale di BigM è "Windows Live Installer.exe" che permette agli utenti di scegliere quali software della suite installare per poi effettuare internamente il download di un apposito pacchetto riconvertito poi in locale in un setup MSI compliant.
Capisco che la suite è composta da software che è nato per l’utilizzo online, ma probabilmente a Redmond non hanno ancora compreso che non tutti gli utenti, soprattutto quelli che vivono in paesi tecnologiamente "arretrati", non dispongono ancora di connessioni broadband e che quindi non a tutti va di stare li 30 minuti in dialup a scaricarsi 17 Mbyte di dati per ogni setup.
Fortunatamente il setup di Windows Live, una volta scaricato il pacchetto, salva i file MSI opportunamente convertiti da WLSetupSvc.exe nella cartella C:\Program Files\Common Files\WindowsLiveInstaller\MsiSources, senza cancellarli al termine della procedura, permettendo quindi di replicare facilmente l’installazione su macchine non fornite di connettività.
Il formato dei setup MSI è Install_{GUID}.msi. Basta andare nelle proprietà di ogni singolo MSI e leggere la parte di metadati (nello specifico il subject) per capire a quale software Windows Live si fa riferimento. Ad esempio il GUID 9176251A-4CC1-4DDB-B343-B487195EB397 fa riferimento a Live Writer, ottimo software da utilizzare per interfacciarsi al proprio blog engine e postare in maniera veloce senza passare per le varie web application. Ovviamente è possibile rinominare i file MSI senza dover imparare i GUID a memoria
Ho scritto questo post perchè ho notato che sul web, a causa di questa problematica, iniziano a proliferare dei setup da fonti che sicuramente possono essere considerate "untrusted" che banalmente potrebbero infilare in un file MSI qualsiasi cosa provocando gravi danni alle macchine di utenti ignari e alle prime armi. Considerando il target di un prodotto come Messenger diffusissimo tra i giovani, ribadisco il fatto che, secondo me, Microsoft dovrebbe ritornare sui suoi passi fornendo i link per il download dei singoli pacchetti dal proprio sito ufficiale.
Microsoft, Windows | No Comments »
MIX08, poche ore dall’inizio, tutto pronto per il live da Las Vegas
mercoledì, marzo 5th, 2008
Per chi non conoscesse il MIX : si tratta di una conferenza annuale, tenuta da Microsoft, relativa allo sviluppo Web e alla User Experience in generale. Questa volta siamo alla terza edizione e come negli anni precedenti BigM ha promesso che saranno fatti annunci relativi a nuove tecnologie e rilasci di nuovi strumenti.
Per chi, povero mortale, rimane qui in Italia e non può godersi l’agenda direttamente in quel di Las Vegas (io ne approfitterei per fare anche qualche sit & go di texas hold’em, magari al Bellagio:)), Microsoft ha messo a disposizione il sito http://visitmix.com/2008/default.aspx dove tra poche ore (mentre scrivo il post sono le 16.45 in Italia – le 07.35 AM a Las Vegas GMT-8, la keynote di apertura è prevista alle 9.30AM) sarà possibile guardarsi in streaming la keynote di Ray Ozzie, Scott Guthrie e Dean Hachamovitch, mentre domani sarà la volta di quella di Steve Ballmer.
Ovviamente, la parte tecnicamente appetibile non sono le Keynote, ma le Session in agenda (è possibile visualizzarne l’elenco da qui https://content.visitmix.com/public/sessions.aspx) che quest anno si preannunciano ricche di "spunti" e tracks interessanti.
Come nelle precedenti edizioni, sarà possibile guardarsi le registrazioni delle sessioni con relativo transcript, slides ed esempi di codice direttamente da http://sessions.visitmix.com/ , pubblicate in differita (24h).
Tempo permettendo cercherò di bloggare le novità e gli annunci più importanti di questa edizione del MIX.
Enjoy MIX 08!!

