Attualmente sto lavorando su ApplicationLauncher/Autoupdater. Quindi per installare/aggiornare un'app su "Programmi", ho bisogno di richiedere i diritti di amministratore.Privilegi di amministratore per un singolo metodo
Bene, dal momento che l'Updater deve solo scrivere qualcosa se vengono trovate nuove versioni, ho provato solo a richiedere i privilegi, se viene trovata una nuova versione.
Il programma di aggiornamento viene eseguito ogni volta, prima del lancio di applicazioni, in modo da chiedere "ogni volta" per Adminrights c'è soluzione ...
ho cercato molto, e hanno trovato la seguente:
[PrincipalPermission(SecurityAction.Demand, Role = @"Administrators")]
private void InstallOrUpdate(AppItem appItem)
ma wenn provo a questo, l'updater genera SecurityException ...
Richiesta di autorizzazione principale non riuscita.
Cosa sto facendo di sbagliato?
saluti, Dognose
Quando eseguo operazioni amministrative in Windows, vedo i pulsanti nei moduli con l'icona amministrativa accanto a loro. Quando faccio clic sul pulsante, l'UAC richiede privilegi elevati. Stai dicendo che per ogni pulsante amministrativo Windows sta lanciando un nuovo processo? O sta succedendo qualcosa di diverso lì? – Phil
@Phil: Sì. Fondamentalmente, se vedi un prompt UAC, sai che un nuovo processo verrà avviato a quel punto. –
@Phil, un buon esempio è il Task Manager di Windows e il pulsante 'Mostra processi da tutti gli utenti'. Facendo clic su questo non si aggiorna solo il Task Manager, lo si riavvia con autorizzazioni elevate. –