WSS Sizing e non-administrative privileges
Questa sera ho visto segnalato sul blog di Alberto Falossi un tool per eseguire delle stime di sizing di soluzioni Sharepoint 2003.
Il tool in sé è un'ottima idea e tra l'altro è anche sviluppato in .NET. Bene! L'ho subito scaricato e provato.
Purtroppo ho avuto un'amara sorpresa: dall'idea il produttore del software non ha mai svolto test di utilizzo del suo tool con un utente non-admin, quindi devo dedurre che anche lo sviluppatore che ha realizzato l'applicazione utilizza il suo PC come utente admin, altrimenti se ne sarebbe accorto!
Tentando di utilizzare il software con il mio account personale, che è uno User del mio PC e non un Administrator, ho ottenuto una serie di Exception. Cito per esempio:
System.UnauthorizedAccessException: Access to the path "c:\program files\hewlett-packard\sps 2003 sizing and configuration tool - v2.0\MseAppLauncher.cfg" is denied.
System.UnauthorizedAccessException: Access to the path "C:\Program Files\Hewlett-Packard\SPS 2003 Sizing and Configuration Tool - V2.0\MseAppLauncher.settings" is denied.
System.UnauthorizedAccessException: Access to the path "c:\program files\hewlett-packard\sps 2003 sizing and configuration tool - v2.0\sps2003sct.settings" is denied.
Inoltre ho dovuto risolvere dei problemi di autorizzazione nell'accesso via HTTP al server di update del client, che in un certo senso voleva essere una sorta di "Smart Client".
Poi arrivato in fondo al wizard del sizing tool, questo cerca di salvare un file temporaneo su HD, sempre nella Program Files:

Ovviamente sistemando qua e là i problemi poi il tool ha funzionato. Trovo però grave che ancora oggi, a distanza di 2 anni da quando Microsoft ha iniziato a spendere fior di soldi per formare e informare sulla sicurezza delle applicazioni (io e Marco abbiamo fatto un roadshow di 12 tappe nel 2004. Raffaele ha rifatto un roadshow quest'anno. Solo per citare l'Italia), ci siano ancora sviluppatori che lavorano come Administrator e che non si pongono nemmeno il problema di testare il loro software con utenti diversi da loro, in termini di privilegi. Se poi chi commette questi errori è un programmatore che lavora per una grossa azienda ... mi dispiace ma rimango ancora più deluso.
Dopo lo sfogo .... pensavo che ormai anche i muri :-) avessero imparato che non si devono mai e poi mai utilizzare i folder della Program Files per persistere i file di configurazione locali all'utente particolare, qualora questi debbano essere non solo letti ma anche modificati. La cartella Program Files è di default in sola lettura per gli Users, è modificabile per i Power Users ed è Full Control solo per gli Adminstrators. Con .NET i file di configurazione locali al singolo utente devono essere salvati o nell'Isolated Storage (scelta furba se si vuole creare un vero Smart Client con installazione automatica anche via web ... aspettando ClickOnce) oppure nella Document and Settings. Inoltre non si deve mai chiedere più di quello che serve. Ho il sospetto che alcuni di quei file siano richiesti in lettura/scrittura, ma non debbano realmente essere scritti, al software basterebbe leggerli!
Voto 7 all'idea del programma in quanto tale.
Voto 3 alla qualità del codice della sua implementazione.
Ovviamente ho già segnalato via email al produttore il problema.