Ho un'applicazione (servizio Windows) che è installata in una directory nella cartella Programmi. Accanto a questa applicazione è un'altra applicazione WinForms che viene utilizzata per configurare il servizio (tra le altre cose). Quando esegue la configurazione, salva le modifiche in un file di configurazione che vive accanto al servizio.Modo corretto per gestire l'UAC in C#
Quando si esegue Vista/Win7, UAC impedisce all'utente di salvare nel file di configurazione. Quello che vorrei fare è:
- mettere l'icona scudo accanto alla voce di menu utilizzato per configurare
- richiesta di permessi di UAC quando questo articolo è scelto
- mostrano solo l'icona/messaggio quando su un OS che lo richiede
- mostrare solo l'icona/pronta quando sono richiesti i permessi (ad es. se l'applicazione è stata installata da qualche parte che non richiede il permesso UAC)
non voglio davvero per eseguire l'intera applicazionecome amministratore, in quanto viene utilizzato anche per altri scopi che non richiedono autorizzazioni UAC (quindi l'impostazione di un file manifest dell'applicazione non è la soluzione corretta). Sto anche assumendo (correggimi se sbaglio) che una volta che sono state concesse le autorizzazioni UAC, il mio processo esistente non può eseguire l'azione e che avrò bisogno di avviare un nuovo processo.
Come posso ottenere il massimo?
Ho dovuto fare un po 'di salti mortali per codificarlo correttamente, ma grazie a Matthew ho qualcosa di simile a quello che ho descritto sopra. – adrianbanks
Buono a sapersi. Il controllo dell'account utente talvolta rende le cose un problema, ma il tuo software è davvero migliore. –