do more with less
news, esperienze, esempi da condividere e qualcosa su di me

lunedì 21 gennaio 2008

ONE-Day Web Development: slide ed esempi su Windows Live ID

Come promesso in questo post trovate il link per scaricare le slide e le applicazioni di esempio utilizzate durante la mia sessione. Gli esempi fanno uso sia del Windows Live ID SDK che dei Windows Live Tools for Visual Studio 2008 (December 2007 CTP). Per poterli utilizzare sono necessari:

  • Visual Studio 2008 o Visual Web Developer 2008 Express Edition
  • SQL Server 2005 Express Edition
  • Windows Live ID SDK (opzionale)
  • Windows Live Tools for Visual Studio 2008

Predisposizione e configurazione degli esempi
Prima di poter eseguire gli esempi è necessario provvedere a:

1. Registrare le applicazioni per l'uso di Windows Live ID andando alla pagina Use Windows Live ID for Your Web Site e autenticandosi con il proprio account di Windows Live.

2. Modificare i file web.config delle due applicazioni presenti nella soluzione inserendo in ognuno le rispettive informazioni (Id applicazione e password segreta) come indicato di seguito:

Applicazione WindowsLiveIDSdk

<appSettings> 
 <add key="wll_appid" value="TuoApplicationID1"/> 
 <add key="wll_secret" value="TuaSecretKey1"/> 
 <add key="wll_securityalgorithm" value="wsignin1.0"/> 
</appSettings> 

Applicazione WindowsLiveTools

<appSettings> 
 <add key="wll_appid" value="TuoApplicationID2"/> 
 <add key="wll_secret" value="TuaSecretKey2"/> 
</appSettings>

Utente per l'applicazione di esempio WindowsLiveTools
Per poter completare un'associazione tra il vostro Windows Live ID e un utente delle Membership, potrete scegliere se creare un nuovo utente (utilizzando l'ASP.NET Configuration Tool presente nell'ambiente di sviluppo) o se utilizzare l'utente creato per l'esempio le cui credenziali sono:

Username: UtenteDemo
Password: OneDay!
Email: demo@oneday.com
Domanda di sicurezza: Cos'e questa?
Risposta di sicurezza: Un'applicazione di esempio

Link utili
Slide
Demo
Windows Live ID
Windows Live for Developer

sabato 19 gennaio 2008

ONE-Day Web Development: riflessioni

E' passato qualche giorno dal ONE-Day Web Development e, smaltita la tensione, penso sia venuto il momento per tirare le somme sul risultato di questa giornata.

Ringraziamenti
Mi hanno fatto piacere i pubblici apprezzamenti di Andrea Boschin che nel suo blog, con questo post, ha voluto ringraziare tutti per l'impegno profuso. Non posso che aggiungere un mio personale grazie a:

  • chi ha creduto in noi decidendo di partecipare all'evento;
  • allo sponsor, Microsoft Italia, ed in particolare a Sara Morandini e Pietro Brambati per il supporto che ci hanno fornito durante la parte organizzativa e durante l'evento;
  • ad Andrea Dottor, Davide Senatore e Andrea Boschin per le splendide sessioni preparate con cura e ben presentate;
  • al personale del Novotel per aver contribuito con la loro professionalità al successo dell'evento.

L'esito positivo di questo evento è il frutto combinato del lavoro di tutte le persone coinvolte senza le quali il risultato sarebbe sicuramente stato diverso.

Location
Il peso che i partecipanti danno al luogo in cui si tiene un evento, alla qualità della sala, del catering etc, spesso influenza sensibilimente la percezione di soddisfazione generale. Personalmente penso che su questo punto abbiamo fatto centro. La sala congressi del Novotel di Venezia, la professionalità del personale coinvolto e il costante supporto della Dott.ssa Federica Vivian, ci ha permesso di organizzare un evento, il primo di queste dimensioni per la nostra community, senza evidenti sbavature sia per noi organizzatori che, dai feedback ricevuti, anche per la stragrande maggioranza dei partecipanti.

Sessioni
Su questo argomento devo constatare che due scommesse fatte in fase organizzativa hanno dato un esito veramente positivo. La prima riguarda il debutto ad un evento di queste dimensioni di Andrea Dottor che fino al giorno dell'evento, aveva potuto dimostrare le sue capacità di speaker, solo in eventi di dimensioni più ridotte. Andrea ha dimostrato di saper gestire la tensione che un evento come questo può darti e di saper illustrare tematiche particolari di una tecnologia che da qualche mese tiene banco in molti eventi italiani, ASP.NET AJAX.
La seconda scommessa era inserire una sessione ludico/tecnica come ultima parte della giornata. E qui Davide Senatore si è superato riuscendo, con la sua sessione sui Games realizzati con Silverlight 1.1, a tenere tutta la platea incollata alle sedie fino all'ultimo minuto. Devo dire che era parecchio tempo che non mi divertivo così guardando una sessione ad un evento di questo tipo.
Andrea Boschin, che ha presentato una sessione su ASP.NET AJAX - Silverlight 1.0, ha come sempre incanto i partecipanti. Se mai servisse è stata una conferma delle sue capacità nel dimostrare l'applicabilità di queste tecnologie in applicazioni reali.
E veniamo alla mia sessione. L'argomento scelto forse non era così facilmente digeribile, a detta di alcuni, non tanto per un discorso di complessità quanto forse per simpatia/antipatia sulla tecnologia presentata. Ho illustrato come Windows Live ID potesse essere preso in considerazione come sistema per facilitare il single sign on in portali differenti riducendo il gravoso onere che ognuno di noi oggi ha nel gestire decine e decine di account diversi. Putroppo, una ridotta parte dei partecipanti, mi ha fatto cadere in un tranello a cui, vista l'esperienza maturata negli anni, non avrei dovuto abboccare. Infatti, la mia presentazione è stata vissuta da questi come un tentativo di esaltare un servizio a sfavore di altri presenti nel mercato (per esempio openID) generando una discussione che ha sottratto tempo alla parte implementativa vera e propria. Ho lasciato che le mie aspettative di utente superassero il mio desiderio di sviluppatore di voler mostrare come realizzare quanto proposto. Questo ha di conseguenza influenzato i feedback della mia sessione che sono stati ben al di sotto di quanto sono abituato a ricevere. Ok, lezione imparata e mi assumo tutta la responsabilità per l'esito non proprio positivo di questa parte dell'evento. Servirà come esperienza per il futuro. Aggiungo solo, nel caso qualcuno dei partecipanti all'evento leggesse il mio blog, che non era mia intenzione vendere nulla a nessuno. Io sono entusiasta di un certo tipo di soluzioni e tecnologie che uso quotidianamente nel mio lavoro e per questo ne parlo positivamente. Questo non deve però essere preso come un tentativo di imporla a nessuno ma solo come un parere/consiglio da parte di qualcuno che l'ha già utilizzata. Per quanto riguarda openID, come ho detto in sessione, non lo conosco e non lo uso ma non per questo non lo devono fare gli altri.

Cosa dobbiamo migliorare
Non sono così ingenuo, come non lo sono i mie compagni di avventura, per non sapere che possiamo fare meglio e forse anche molto meglio alla prossima occasione. A mio parere, il problema maggiore che abbiamo avuto è stato il mancato rispetto della scaletta e questo, effettivamente, da fastidio a più di una persona. Per questo chiedo scusa a tutti e spero vogliate perdonarci l'errore nato dall'inesperienza nell'organizzare un evento di queste dimensioni. La prossima volta vi assicuro che non capiterà più. Per questo credo che dovremmo, nelle prossime occasioni, tener conto:

  • del possibile ritardo nell'inizio dell'evento per cause esterne (code alla registrazione, traffico, altro);
  • del tempo necessario per prediporre il podio per uno speaker tra una sessione e l'altra (cambio computer, sistemazione cavi, sistemazione microfono, ecc);
  • tempo di Q&A alla fine di ogni sessione.

Probabilmente altre cose da migliorare salteranno fuori da una disamina approfondita dei feedback o chiaccherando con amici presenti all'evento e quindi li analizzeremo in modo che non si verifichino nuovamente nei prossimi eventi.

Che dire, non mi resta che darvi appuntamento ai nostri prossimi eventi. Non dimenticate che:

"La community è fatta anche da voi, si nutre delle vostre conoscenze e vi nutre con quelle degli altri."

Iscrivetevi a XE.NET e iniziate a condividere conoscenza.

venerdì 18 gennaio 2008

Visual Studio 2008: Internet Explorer 7 e il webserver integrato

In questi giorni ho combattuto con un problema che limitava le capacità di debug, di un'applicazione web, utilizzando il WebServer integrato in Visual Studio 2008. Ho trovato una soluzione ma non sono ancora certo delle cause che hanno portato al malfunzionamento ed al mio successivo workaround. Ecco la descrizione del problema e di come applicare il workaround.

Sistema operativo
Microsoft Windows Vista Business 32bit in inglese

Problema
Lanciando il debug di un'applicazione web da Visual Studio 2008 Team Suite, impostata per utilizzare il web server integrato nell'ambiente di sviluppo, ottenevo il seguente errore: Internet Explorer cannot display the webpage

Facendo vari test ho scoperto che:

  • modificando l'url da http://localhost:8088/ in http://127.0.0.1:8088/, la pagina funzionava correttamente e io potevo continuare il debug senza problemi.
  • il problema si presentava anche avviando l'applicazione di configuratione ASP.NET Configuration.
  • utilizzando Firefox il problema non si presentava anche utilizzando l'url http://localhost:8088.

La prima cosa che mi è venuta in mente è stato verificare il file di hosts del mio computer che però ritenevo corretto visto che Firefox eseguiva la risoluzione del nome in ip in modo corretto e che, se usavo IIS, il problema non si presentava anche sotto IE7. Questa convinzione era avvalorata anche dal fatto che, quanto presente nel mio file di hosts, era identica a quella di altri computer in cui il problema non si presentava.

Analizzando le varie possibilità; leggendo un numero spropositato di articoli e post; testando n soluzioni; rompendo le scatole ad amici, evangelist Microsoft, ecc; alla fine ho trovato come risolvere il problema anche se non sono certo che la causa scatenante sia quella che indico qui.

Causa ipotizzata
Presenza del servizio Eset HTTP Server (anche se stoppato) installato con ESET NOD32 Antivirus 3.0.621.0.

Soluzione 1: utente senza diritti amministrativi con Firefox installato
Se non avete diritti amministrativi sul PC che utilizzate ed avete Firefox installato, l'unica soluzione che potete utilizzare per ovviare al problema è impostarle Firefox come browser di default in modo che sia il browser chiamato anche dal webserver integrato in fase di debug. Per farlo utilizzate le opzioni di Firefox per abilitare il controllo del fatto che sia il default browser. Avviate Firefox e quindi confermate la schermata che vi viene presentata. 

Soluzione 2: utente con diritti amministrativi e file host con record ::1 localhost
Avviate notepad con diritti amministrativi (Run as administrator). Quindi aprite il file hosts che si trova al seguente indirizzo: C:\Windows\System32\drivers\etc . Il vostro file, salvo che non lo abbiate precedentemente modificato, dovrebba apparire simile a questo:

 

# Copyright (c) 1993-2006 Microsoft Corp.# # This is a sample HOSTS file used by Microsoft TCP/IP for Windows.# # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one# space.# # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol.## For example:# # 102.54.94.97 rhino.acme.com # source server# 38.25.63.10 x.acme.com # x client host127.0.0.1 localhost::1 localhost

 

Commentate la riga del record ::1 localhost come indicato qui:

 

# Copyright (c) 1993-2006 Microsoft Corp.# # This is a sample HOSTS file used by Microsoft TCP/IP for Windows.# # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one# space.# # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol.## For example:# # 102.54.94.97 rhino.acme.com # source server# 38.25.63.10 x.acme.com # x client host127.0.0.1 localhost#::1 localhost

 

Questo è stato sufficiente, nel mio caso, per risolvere il problema.

Sarò grato a chiunque che riscontrando lo stesso problema o, a parita di configurazione, non riscontrandolo volesse commentare questo post con la sua esperienza diretta in modo da rendere statisticamente più precisa la determinazione della causa che genera il problema qui indicato.

mercoledì 16 gennaio 2008

Parola di evangelist: si può usare anche Localhost con Windows Live ID

Questa sera, durante la definizione degli ultimi preparativi per l'evento di domani, parlavo con Pietro Brambati, Developer Evangelist in Microsoft Italia, relativamente al fatto che non fosse possibile registrare una applicazione per Windows Live ID con url locale del tipo http://localhost/MiaApplicazione in quanto l'url doveva riferirsi ad un'applicazione presente in rete (come si leggeva dalla documentazione). Pietro mi ha guardato un pò sorpreso e poi mi ha detto: "No ti sbagli, io l'ho fatto". Incredulo mi sono fatto mostrare il record di registrazione ed effettivamente puntava ad un indirizzo locale del notebook di Pietro. Mi sono ripromesso di provare non appena fossi arrivato a casa e così ho fatto. Risultato? Pietro ha ragione, funziona alla grande. Non posso che dire grazie Pietro; mi ha salvato da un workaround assurdo che avevo pensato per ovviare ad un problema inesistente.

Tradotto in linguaggio C#:

List<Developer> developers = World.Italy.Communities.Developers.GetAll();
foreach (Developer dev in developers)
{
if (dev.HasIssues)
{
Evangelist evangelist = new Evangelist("Pietro Brambati");
foreach (Issue issue in dev.Issues)
{
ParolaDiEvangelist solution = evangelist.ResolveIssue(issue) as ParolaDiEvangelist;
issue.Resolved(solution);
}
}
if (dev.AreAllIssuesResolved)
dev.PostInBlog();
}

Reminder: ONE-Day Web Development -1

Un piccolo promemoria per chi ancora è indeciso e non si è iscritto all'evento ONE-Day Web Development organizzato da XE.NET e che si terrà domani a Venezia Mestre presso il Centro Congressi del Novotel.

Ecco l'agenda dell'evento:

9:00 – 9:30

Registrazione

9:30 – 10:15

La piattaforma Microsoft per il Web

Speaker: Pietro Brambati

Il mondo del web è in continua evoluzione e questo porta con sé notevoli cambiamenti sia nel modo in cui tutti i giorni lo “consumiamo”, ma anche e soprattutto nel modo di realizzare applicazioni. Sempre più spesso, infatti, si sente parlare di applicazioni RIA (Rich Interactive Application), nelle quali è necessario offrire all’utente contenuti multimediali e interazione. Architetti e sviluppatori di soluzioni web troveranno in questa sessione un’utile roadmap sulle tecnologie e servizi per creare il web di oggi e di domani.

10:15 – 11:25

Certezza dell’identità nell’autenticazione web: Windows Live ID come possibile soluzione

Speaker: Davide Vernole

La maggior parte delle applicazioni web che conosciamo, siano essi portali di commercio elettronico, siti di home banking o community che uniscono persone con comuni interessi, implementano un sistema di autenticazione per verificare l’identità degli utenti che vogliono accedere ad aree e contenuti riservati. I principali problemi correlati con i sistemi di autenticazione nel mondo web sono la certezza dell’identità e la protezione delle informazioni ad essa associate. Windows Live ID SDK può aiutarci ad implementare un sistema di verifica dell’identità ad elevato valore aggiunto a fronte di una riduzione dei costi d’implementazione ed una maggior sicurezza fornita da un’infrastruttura tecnologica costantemente aggiornata qual è quella di Windows Live ID. Durante la sessione dimostreremo come sia possibile sfruttare questo servizio valutando soluzioni di utilizzo, benefici e sviluppi futuri con particolare attenzione all’integrazione con Windows CardSpace in ambito web.

11:25 – 11:40

Coffee Break

11:40 – 12:50

Rich Internet Application nel mondo reale: Silverlight e AJAX alleati per migliorare la User Experience

Speaker: Andrea Boschin

L’evoluzione del web attraverso gli anni ha condotto le tecnologie moderne verso il concetto di Rich Internet Application, che a partire da AJAX e ora con Silverlight sta rapidamente trasformando la user-experience delle applicazioni web avvicinandola sempre più a quella disponibile in ambiente desktop. L’introduzione di Silverlight, la tecnologia RIA per eccellenza, con il supporto di strumenti quali ASP.NET AJAX e LINQ oggi consente lo sviluppo di applicazioni accattivanti che uniscano il meglio di due mondi che finora hanno avuto ben poco in comune, regalando all’utente un feedback e un look&feel senza precedenti. Durante i 70 minuti che trascorremo assieme vedremo come queste tecnologie possano collaborare per migliorare l’appeal delle nostre applicazioni e per risolvere problematiche che tipicamente sono relegate alle applicazioni Windows Forms. Avremo occasione di sperimentare varie tecniche incentrate sulle capacità di Silverlight allo scopo di chiarire lo stato dell’arte di questo dinamico settore.

12:50 – 13.50

Pranzo

13:50 – 15:00

Applied ASP.NET AJAX 1.0

Speaker: Andrea Dottor

La nuova libreria ASP.NET AJAX è stata ideata per permettere la rapida creazione di applicazioni di nuova generazione, più efficienti, interattive e altamente personalizzabili. L’utilizzo di ASP.NET AJAX Extensions e dell’AJAX Control Toolkit consente di spostare facilmente parte della logica delle applicazioni dal server verso il client aprendo la strada a nuovi scenari che danno vita ad interfacce user-friendly e innovative per le applicazioni web. In questa sessione vedremo in dettaglio alcune tecniche che aiutano a sfruttare al meglio i vantaggi dell'adozione di queste tecnologie e di massimizzare il valore aggiunto che esse possono dare.

15:00 – 16:10

Web Games con Silverlight 1.1

Speaker: Davide Senatore

Anche se il mercato ludico si è fortemente espanso e la realizzazione di un moderno videogame richiede risorse fuori della portata degli appassionati, è sempre piacevole cimentarsi nella realizzazione di un semplice videogioco, familiarizzando con le tecniche che portano spesso all’estremo la potenza di calcolo dei moderni computer. In questa sessione, dopo aver evidenziato rapidamente le caratteristiche di Silverlight 1.1, cercheremo di capire come questa piattaforma si candidi come ambiente ideale per lo sviluppo di software per l’intrattenimento. Durante la presentazione verranno illustrate le tecniche di base per la realizzazione di un videogioco: sprite, movimento, suoni ed interazione con l’utente.

Se volete iscrivervi potete farlo qui.

sabato 12 gennaio 2008

Microsoft Regional Director: in Italia nulla di nuovo

Oggi un amico mi ha girato il link ad un post di Francesco Balena: Regional Director again! in cui comunica la sua riconferma a Microsoft Regional Director e con lui anche quella di Giuseppe Dimauro. Non posso che fargli i complimenti ma sono veramente triste per le community italiane. Perchè? E' presto detto. In un articolo di Jonathan Goodyear: Demystifying the Microsoft Regional Director si legge:

"The role of an RD is to act as an unbiased third-party evangelist of Microsoft products and services and to work with software developers to ensure successful project engagements. We act as the glue between Microsoft and the developer community.".

Per essere franco, come amo essere, non ritengo che questo sia quanto facciano i Regional Director nominati per il nostro paese. Negli ultimi anni ho avuto il piacere di conoscere alcuni Regional Director competenti per altri paesi quali  Stati Uniti e Canada. Devo dire che il loro approccio e il loro interesse verso noi sviluppatori è completamente diverso. Parlando con loro era evidente il diverso approccio; domande a raffica, ricerca di opinioni ed esperienze con i prodotti e la tecnologia che usiamo nel nostro lavoro, e così via. In poche parole, dei Regional Director in linea con quanto dovrebbe fare chi riveste quella carica. Mi spiace dover confermare che questo in Italia non avviene. Non posso parlare certo per gli altri ma forse un cambio di rotta sarebbe gradito da molti. Abbiamo bisogno di Regional Director, e proprio perchè il numero è contingentato, è necessario che siano effettivamente il collante tra Microsoft e le comunità degli sviluppatori. Per fortuna, in Italia, il nostro rapporto con il DPE è molto buono e riusciamo comunque ad avere contatti, supporto ed informazioni che in altri paesi vengono spesso forniti dai Regional Director. Spero che questo messaggio svegli dal torpore chi di competenza e gli suggerisca di dare un rapido segnale di cambiamento.

C'è qualcun'altro che ha voglia di dire la sua su questo argomento? Io ho parlato con alcune persone e so di non essere il solo a pensarla così. Tu che ne pensi? Lasciami un tuo commento sia che tu sia contento o scontento dei Regional Director Italiani.

ASP.NET: Drag & Drop, una soluzione comoda

Qualche tempo fa ho lavorato su un progetto in qui mi era stato richiesto di sviluppare una funzionalità particolare in cui l'interazione dell'utente avrebbe trovato, in una soluzione basata sul Drag & Drop, la sua miglior implementazione. I tempi, come spesso accade, era troppo risicati per pensare di scrivere una soluzione da zero e quindi ho optato per la ricerca sul web nella speranza di trovare soluzioni di qualità facilmente adattabili alle esigenze specifiche del mio progetto. Ho passato un pò di tempo ma alla fine la soluzione che ho trovato mi ha permesso di raggiungere un ottimo risultato. In poche parole, se vi trovate nell'esigenza di dover implementare una soluzione su web che supporti il Drag & Drop, valutate la soluzione proposta da Omar AL Zabir in questo suo post: ASP.NET Ajax Extender for multi-column widget drag & drop. Esiste, inoltre, un interessante progetto su Codeplex dal quale è stato creato il portale Dropthings a dimostrazione dei possibili risultati ottenibili con l'implementazione di Omar.

al juhara: Dell Optiplex 755 Small Form Factor Computer

Nel corso dell'ultimo anno mi sono trovato spesso a dover utilizzare macchine virtuali per poter lavorare su progetti che richiedevano l'estensione di prodotti server come Microsoft Office Sharepoint Server o Microsoft CRM. Questo mi ha fatto capire che non potevo più continuare ad utilizzare solo il mio portatile con dei dischi esterni per virtualizzare i sistemi server. Le prestazioni erano spesso pessime ed i tempi di sviluppo complessivi ne risentivano di molto. Ho quindi deciso di optare per il noleggio offerto da Dell (cosa che ho già fatto per il mio portatile) per prendere un desktop in grado di aiutarmi nella virtualizzazione. Ho escluso un server sia per le dimensioni sia per la rumorosità che normalmente si associa con macchine pensate per alti carichi di lavoro. Volevo anche un hardware di dimensioni ridotte in modo da poterlo inserire senza problemi nella mia area di lavoro che ho ritagliato nel mio ufficio a casa. La scelta non poteva che essere un desktop della serie Optiplex 755 e così, l'ultimo giorno dell'anno ho chiamato il servizio commerciale ed ho concluso l'ordine. Il 9 gennaio, con 5 giorni di anticipo rispetto alla data stimata, è arrivato al juhara (il gioiello). Ecco alcune delle sue caratteristiche:

Processore: INTEL CORE 2 QUAD Q6600 2.4Ghz
RAM: 8.0GB 800MHz NON-ECC DDRII MEMORY
Hard Disk: 250GB 7,200RPM SATA 3.0GB/S
DVD Drive: 8X DVD+/- RW
Scheda video: ATI RADEON 2400XT 256MB
Media: 19 IN 1 MEDIA CARD READER
Chassis: Smal Form Factor Computer con Chassis Intrusion Switch

Quanto costa? Molto meno di quanto si pensi. Chiamate il servizio commerciale Dell se non ci credete. Ora devo decidere se installare VMWare ESX o attendere il nuovo Windows Server 2008 con Hyper-V per gestire il mio sistema di virtualizzazione. ESX ha un'indubbia solidità e qualità però non mi dispiacerebbe optare per il nuovo sistema offerto da Microsoft. Al momento conosco ancora poco di Hyper-V per poter decidere. Attenderò ancora un pò prima di rimuovere, dal mio gioiellino, Windows Vista 64bit e Virtual PC che ora uso come macchina di virtualizzazione utilizzando Remote Desktop dal mio portatile per lavorare sull'ambiente virtuale.

martedì 8 gennaio 2008

SyntaxColor4Writer: attenzione al Windows Update automatico

Se utilizzate Windows Live Writer e SyntaxColor4Writer, fate attenzione agli aggiornamento automatici di Windows. Il problema è molto semplice. Questo plug-in utilizza un riferimento alla versione della .dll di Windows Live Writer che lo rende inutilizzabile quando la versione cambia. L'ultima versione rilasciata, la 0.26, è stata compilata per lavorare con la versione Windows Live Writer 2008 (12.0.1366.1026). Il problema nasce dal fatto che il Windows Update vi propone, o installa direttamente a secondo delle impostazioni che avete scelto, un Update for Windows Live Writer (KB 946058) che cambia la versione del Writer rompendo così la compatibilità con il plug-in. Vi potreste trovare da un giorno all'altro con SyntaxColor4Writer non più funzionante. Quindi in attesa della versione aggiornata o bloccate quello specifico aggiornamento o rinunciate all'uso di questo plug-in.

Visual SourceSafe 2005: ora compatibile con Visual Studio 2008

Sono al termine delle operazioni che in questi giorni mi hanno impegnato nella ricostruzione del mio portatile. Mentre spulciavo la lista del software da installare mi sono chiesto: "Visual SourceSafe 2005 e Visual Studio 2008 riusciranno a lavorare assieme?". Prima di trovarmi in difficoltà ho deciso di verificare le informazioni in rete ed ho scoperto che lo sono grazie ad un'update di Visual SourceSafe che è stato rilasciato da qualche settimana. Per chi fosse interessato può trovare maggiori informazioni in questo post di Richard Berg: SourceSafe 2005 Update is available for download!. L'update non si limita a rendere SourceSafe compatile con Visual Studio 2008 ma fissa anche un buon numero di bugs. Ecco in dettaglio cosa è stato sistemato: List of bugs that are fixed in the Visual SourceSafe 2005 Update.

L'aggiornamento è scaricabile a questo link: Visual SourceSafe 2005 Update.

lunedì 7 gennaio 2008

Windows Vista Business: UAC e IIS 7.0 fanno a pugni durante l'installazione

Ho posticipato per lungo tempo la sistemazione del mio notebook per risolvere problemi di performance, problemi con Visual Studio 2008, ecc. Il 6 gennaio, dopo essermi preparato alcune macchine virtuali per poter continuare a lavorare  mentre sistemo il notebook, ho deciso di partire con il make-up del mio D620. Ho optato per Windows Vista Business visto che la versione Ultimate, che ho usato fino ad oggi, non mi fornisce benefici specifici per il mio lavoro e installa una quantità di servizi e prodotti che non ha senso installare nel mio computer di lavoro.

Inizialmente è andato tutto liscio fino a quando ho deciso di installare IIS 7 (abilitandolo dai componenti aggiuntivi). Ecco la bella sorpresa che mi sono trovato davanti:

Product: Windows Modules Installer
Problem: WINDOWS_WCP_AI_FAILURE2
Date: 07/01/2008 10.45
Status: Report Sent
Problem signature:
Problem Event Name: WINDOWS_WCP_AI_FAILURE2
OsVersion: 6.0.6000
InstallerId: Generic Command
Phase: 38
Mode: Install (first install)
Status: 8007371d
Component: x86_microsoft-windows-iis-metabase_31bf3856ad364e35_none_77d6822ff6a1ef34
QueueType: Servicing
Annotation: 0|iissetup.exe|00000425
OS Version: 6.0.6000.2.0.0.256.6
Locale ID: 1040

Inutile dirvi che ho provato e riprovato in tutti i modi a trovare una soluzione. Ho navigato in rete in ogni dove senza trovare nulla di utile che mi aiutasse a risolvere il problema. Poi mi è venuta un'illuminazione: ma io ho un amico/nemico in Windows Vista! L'UAC. Sono andato a trovarlo e gli ho chiesto di farsi una dormitina per un pò di tempo (l'ho disabilitato per 15 minuti). Il risultato è stato quello voluto. IIS 7 e le altre features che volevo abilitare sono ora installate e funzionanti.

Mi piace molto Windows Vista; putroppo la nostra è una storia di amore e odio, fatta di intense passioni e furibondi litigi. Per fortuna alla fine riusciamo a smussare gli angoli e proseguiamo con la nostra movimentata relazione.