Con l'avvento di ClickOnce bisognerà prestare ancora più attenzione ad un concetto spesso snobbato dagli sviluppatori Windows ovvero quello della security.
Quando si pubblica un applicazione con ClickOnce, Visual Studio 2005 by default associa al programma la richiesta dei diritti di fulltrust indipendentemente se necessari o meno, e questo ovviamente non è una bella cosa, non solo perchè qualsiasi applicazione ClickOnce andrebbe ad avere il controllo totale della macchina ma anche perchè la minacciosa schermata che appare quando lanciate il link di installazione dell'applicazione può avere, nel migliore dei casi, il rifiuto da parte dell'utente di installare il programma e oltremodo va contro il principio che un applicazione che usa ClickOnce dovrebbe essere, sotto tutti i punti di vista, la meno instrusiva possibile.
Morale della favola: Prima di distribuire un applicazione con ClickOnce andate nella sezione Security delle proprietà del progetto e attivate "This is a partial trust application" limitando perciò le permissions alle sole effettivamente necessarie.
A questo punto la domanda è: "Come faccio a capire se ho bisogno di una determinata permission?"
Per aiutare lo sviluppatore a rispondere, Visual Studio 2005 oltre a mostare le permissions normalmente incluse in un contesto Internet/Intranet permette di analizzare "staticamente" (e quindi senza la sicurezza al 100%) il nostro codice includendo tra le permissions quelle identificate per il corretto funzionamento del nostro programma.
Altro aspetto, secondo me fondamentale, è la possibilità di debuggare l'applicazione con autorizzazioni di security ridotte per capire se, e come, funzionerebbe l'applicazione in quel determinato contesto visto che, notoriamente, essendo lo sviluppatore anche amministratore del proprio PC durante il debugging non incontrerebbe _mai_ problemi legati a mancate permissions.
Questa opzione, attiva by default, è disponibile dal pulsante Advanced.
Altro dettaglio interessante è che l'intellisense si "adatta" al contesto di security visualizzando come disabilitate le voci non applicabili al contesto attuale.
Anche se MSDN non lo indica esplicitamente, questa features non è disponibile in C# (almeno nella Beta2)
Visual Studio 2005 mette a disposizione tutto ciò che serve per sfruttare al meglio ClickOnce, però ora, più di prima, il testing della security deve diventare parte integrante della normale fase di verifica di una qualsiasi applicazione Windows, facendo si, magari che la stessa possa automaticamente "degradare" in base alle permissions disponibili.