Auto-Aggiornamento applicazione client .NET, che ha bisogno di scrivere nella cartella File di programma

StackOverflow https://stackoverflow.com/questions/524875

Domanda

Simile a: Richiesta Windows Vista UAC elevazione se il percorso è protetto?

Ho un'applicazione .NET client installato in C: \ Program Files (Windows Vista). Questa applicazione dovrebbe aggiornare se stesso, ma non a causa di problemi di autorizzazione. L'auto-aggiornamento dovrebbe semplicemente sostituire un paio di assemblee, ma sono tutti situati in C: \ File di programma e l'applicazione genera la seguente eccezione:

  

System.UnauthorizedAccessException:   Accesso al percorso 'C: \ Program   File ...' è negato.

Non ho alcun controllo su dove potrebbe essere installato l'applicazione e il permesso. C'è qualche soluzione alternativa per questo? E 'possibile richiedere i diritti di amministratore per un paio di secondi? E 'possibile far apparire una finestra di UAC? Sono abbastanza sicuro che ci un'azione alternativa ... Altrimenti, come Firefox sarebbe in grado di aggiornarsi?

Grazie in anticipo per l'aiuto e le idee!

È stato utile?

Soluzione

Hai bisogno di un clic Una volta metodo di distribuzione? Usiamo questo per un'applicazione interna e gli utenti non hanno problemi con i permessi quando pubblichiamo una nuova versione. Viene richiesto di installare l'aggiornamento quando si avvia l'applicazione (se esiste una nuova versione) e si installa senza intoppi.

Altri suggerimenti

Non è possibile elevare le autorizzazioni di un processo a metà, ma è possibile avviare un altro processo separato con permessi più elevati che possono fare il lavoro per voi.

Scarica l'applicazione principale per mettere tutti i file / dati di installazione in una posizione temporanea a basso permesso. Quando sei pronto, avviare un'applicazione più piccolo il cui unico compito è quello di copiare i file nella directory Program Files (e forse riavviare l'applicazione principale con i nuovi aggiornamenti). Mark (è necessaria o qualsiasi altra cosa) che l'applicazione come richiede il permesso necessario per copiare nella directory Programmi o scrivere al Registro di sistema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top