Come facciamo a creare un programma di installazione che non richiede autorizzazioni di amministratore?

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

Domanda

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

Per esempio una semplice manipolazione di immagini, applicazione che consente di incollare le foto sulla parte superiore di provenienza.Credo che l'installazione la cartella dei File di Programma richiede autorizzazioni di amministratore?Possiamo installare nel \cartella AppData, invece?

L'obiettivo è quello di creare un'applicazione che si installa per gli utenti che non sono membri del gruppo administrators locale del computer e non mostra il prompt UAC su Vista.

Credo che una limitazione di questo metodo è che se si installa sotto cartella app data per l'utente corrente altri utenti non potevo correre.

Aggiornamento:

Potete confezionare un clic una volta installare in un normale setup.exe tipo di installazione?Si può chiedere perché vogliamo che questo - il motivo è che abbiamo un programma di installazione che fa una condizione di controllo e installa nulla (come l' .NET) e poi scarica ed esegue il MSI.Ci piacerebbe mostrare un normale programma di installazione schermata di avvio, anche se quella è l'unica cosa visualizzato.Non ci importa se l'app può essere visto solo da un utente (l'utente è installato per).

È stato utile?

Soluzione

ClickOnce è una buona soluzione a questo problema.Se vai a Proprietà del Progetto > Pubblica, è possibile configurare le impostazioni per questo.In particolare, "Modalità di Installazione e le Impostazioni" è buono da guardare:

  • L'applicazione è disponibile solo on-line-questo è effettivamente un "eseguire una volta" applicazione
  • L'applicazione è disponibile offline (lanciabile dal Menu di Avvio) -- questo installa l'applicazione sul PC

In realtà non è necessario utilizzare il ClickOnce web distribuzione di roba.Se fai una Build > Pubblica, e quindi comprimere il contenuto di pubblica\ cartella, è possibile distribuire in modo efficace come un programma di installazione.Per rendere ancora più agevole, di creare un archivio autoestraente dalla cartella, che esegue automaticamente il setup.exe file.

Anche se si installa questo modo, se si sceglie di utilizzare, online aggiornamento continuerà a funzionare per l'applicazione.Tutto quello che dovete fare è mettere il file di ClickOnce online, e mettere l'URL del progetto Pubblicare proprietà pagina.

Altri suggerimenti

Vista è più restrittive su questo genere di cose, quindi, se non è possibile farlo per XP si può scommettere Vista non la permettono.

Hai ragione, l'installazione della cartella dei file di programma che utilizza windows installer richiede autorizzazioni amministrative.Infatti, tutti l'accesso in scrittura a tale cartella, è necessario admin permsissions, che è il motivo per cui si dovrebbe più memorizzare i dati nella stessa cartella dell'eseguibile.

Fortunatamente, se si utilizza .Net, è possibile utilizzare la distribuzione ClickOnce, invece di un file msi, che dovrebbe consentire di installare in una cartella del profilo di ciascun utente senza la necessità di autorizzazioni di amministratore.

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

Se l'utente dell'applicazione è corretta pre-requsits installato l'applicazione può solo essere "lanciato".

Check out:

SE UAC è abilitato, non riuscivo a scrivere i File di Programma.L'installazione di a \AppData, infatti, saranno solo installare il programma per un utente.

Tuttavia, si deve notare che le modifiche di configurazione che richiedono modifiche al registro di sistema, probabilmente(devo ricontrollare che) privilegi di amministratore.Fuori della parte superiore della mia testa modifiche per lo sfondo del desktop in ultima analisi, sono memorizzati in HKEY_CURRENT_USER.

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