installer - senza - sono richiesti privilegi di amministratore per installare questo programma




Come creiamo un programma di installazione che non richiede autorizzazioni di amministratore? (3)

Durante la creazione di un setup / MSI con Visual Studio è possibile eseguire una configurazione per un'applicazione semplice che non richiede l'installazione di autorizzazioni di amministratore? Se non è possibile con Windows XP è possibile con Vista?

Ad esempio una semplice applicazione di manipolazione delle immagini che ti permette di incollare le foto su sfondi. Credo che l'installazione nella cartella Programmi abbia bisogno di autorizzazioni di amministratore? Possiamo installare invece nella cartella \ AppData?

L'obiettivo è creare un'applicazione che verrà installata per gli utenti che non sono membri del gruppo degli amministratori sul computer locale e non mostrerà il prompt UAC su Vista.

Credo che una limitazione di questo metodo sarebbe che se si installa sotto la cartella di dati dell'app per l'utente corrente altri utenti non potrebbero eseguirlo.

Aggiornare:

È possibile creare un clic del pacchetto una volta installato in un normale programma di installazione di tipo setup.exe? Potresti chiederti perché lo vogliamo - il motivo è che abbiamo un programma di installazione che esegue un controllo preliminare e installa qualsiasi cosa necessaria (come .NET) e quindi scarichiamo ed eseguiamo l'MSI. Vorremmo visualizzare anche una normale schermata di avvio dell'installatore, anche se è l'unica cosa visualizzata. Non ci importa se l'app può essere vista solo da un utente (l'utente per cui è installato).


ClickOnce è una buona soluzione a questo problema. Se vai a Proprietà progetto> Pubblica, puoi configurare le impostazioni per questo. In particolare, "Modalità di installazione e impostazioni" è buono da guardare:

  • L'applicazione è disponibile solo online - questa è effettivamente un'applicazione "esegui una volta"
  • L'applicazione è disponibile anche offline (richiamabile dal menu Start): installa l'app sul PC

In realtà non è necessario utilizzare la distribuzione di ClickOnce. Se esegui una Build> Pubblica, quindi comprimi i contenuti della cartella di pubblicazione, puoi effettivamente distribuirla come un programma di installazione. Per renderlo ancora più fluido, crea un archivio autoestraente dalla cartella che esegue automaticamente il file setup.exe.

Anche se si installa in questo modo, se si sceglie di utilizzarlo, l'aggiornamento online funzionerà ancora per l'applicazione. Tutto quello che devi fare è mettere i file ClickOnce online e inserire l'URL nella pagina delle proprietà Pubblica del progetto.


L'unico modo che conosco per farlo è quello di creare un'applicazione ClickOnce in .NET 2.0+

Se l'utente dell'applicazione ha i pre-riesumi corretti installati, l'applicazione può essere semplicemente "avviata".

Check-out:


Vista è più restrittivo su questo genere di cose, quindi se non riesci a farlo per XP puoi scommettere che Vista non ti permetterà neanche.

Hai ragione che l'installazione nella cartella dei file di programma utilizzando Windows Installer richiede autorizzazioni amministrative. Di fatto, tutti gli accessi in scrittura a tale cartella richiedono le autorizzazioni di amministratore, motivo per cui non è necessario archiviare i dati nella stessa cartella del file eseguibile.

Fortunatamente, se stai usando .Net puoi usare la distribuzione ClickOnce invece di un msi, che dovrebbe permetterti di installare in una cartella nel profilo di ogni utente senza richiedere le autorizzazioni di amministratore.