Ho scoperto che un'applicazione che ho scritto non funziona correttamente in Windows Vista/7 se UAC è abilitato a qualsiasi livello, perché scrive i file nella directory di installazione del programma, il valore predefinito è "C: \ Programmi \ MyProgram". Se UAC è disabilitato (o su qualsiasi altra versione di Windows) funziona correttamente - Ho letto che l'UAC nega alle applicazioni l'accesso in scrittura alla directory Programmi per impostazione predefinita.Modo corretto di progettare attorno ai limiti di UAC di Windows?
La mia domanda è, bene, come dovrei scrivere la mia applicazione in modo che possa essere utilizzata senza alcun "diritto" necessario a tutti. Non voglio che gli utenti debbano eseguirlo con privilegi elevati o come amministratore. Voglio solo che funzioni. Ci sono certe directory in cui ogni app ha accesso in scrittura sotto UAC dove potrebbe essere meglio scrivere i miei file? Sono per lo più file di configurazione che vengono creati/distrutti/aggiornati in modo dinamico.
Grazie per il vostro aiuto!
Non chiamerei restrizioni UAC "limitazioni" sull'applicazione. Tecnicamente lo sono, ma più o meno semplicemente ti guida a non fare qualcosa che non dovresti mai fare in primo luogo –
"non dovrebbe mai fare" - perché no? – JimDaniel
Perché mai vorresti mai scrivere i dati di configurazione su Program Files? Questa è la directory di installazione. Ecco dove vanno eseguiti i file eseguibili e le librerie. I dati non vanno lì ... –