Domanda

Ho appena notato che Chromium era installato in AppData sia in Vista che in XP.Se Google lo fa e se lo fanno anche altre applicazioni, è perché esiste una qualche forma di protezione?Dovremmo scrivere programmi di installazione che facciano la stessa cosa di Google?

È stato utile?

Soluzione

Windows non dispone ancora di una convenzione per l'installazione per utente.

  • Quando un programma di installazione chiede se eseguire l'installazione per l'utente corrente o per tutti gli utenti, in realtà si riferisce solo al posizionamento del collegamento (Menu Start;scrivania).I file dell'applicazione effettivi continuano a essere presenti a livello di sistema %PROGRAMFILES%.
  • ClickOnce di Microsoft risolve questo problema creando un file completamente non standard %USERPROFILE%\Local Settings\Apps (%USERPROFILE%\AppData\Roaming su Vista / Server 2008), contenente sia i file di programma che i dati di configurazione.

(Non riesco a capire perché Microsoft non sia riuscita ad aggiungere una directory Programmi per utente in Vista.Ad esempio, in OS X, puoi creare un file ~/Applications, e il Finder gli assegnerà un'icona appropriata.App come CrossOver e Adobe AIR lo utilizzano automaticamente, impostando per impostazione predefinita le app per utente.Pertanto, nessun problema di autorizzazioni.)

Quello che probabilmente Dovrebbe Fare:se l'utente non è un amministratore, installa nella directory utente;se lo fanno, offri loro entrambe le opzioni.

Altri suggerimenti

Un vantaggio che nessuno ha menzionato sono gli aggiornamenti automatici silenziosi.Chrome dispone di un processo di aggiornamento che viene eseguito continuamente e aggiorna immediatamente l'installazione di Chrome.

Penso che il loro caso d'uso non sia standard.Hanno bisogno di un modo per risolvere i problemi di vulnerabilità (poiché si tratta di un browser) il prima possibile.Aspettare che gli amministratori approvino ogni singolo aggiornamento a livello aziendale semplicemente non è sufficiente.

Per quanto ne so, l'unico motivo per cui Chrome viene installato nella cartella Application Data è che gli utenti non amministratori possano installarlo.

Il programma di installazione di Chrome attualmente non consente all'utente di scegliere dove installare l'applicazione.Non farlo: offri invece all'utente la possibilità di scegliere tra un'installazione per utente (qualcosa come App Data) e un'installazione a livello di computer (Programmi).

Windows 7 e Windows Installer 5.0 ora forniscono reali funzionalità di installazione per utente.

http://msdn.microsoft.com/en-us/library/dd408068%28VS.85%29.aspx

Puoi in qualche modo modificarlo in Vista e XP utilizzando ~/AppData/Local o l'equivalente come fa Chrome.La stessa Microsoft lo utilizza per i programmi di installazione ClickOnce.

Quindi almeno su Windows 7 e oltre la soluzione è semplice.

Francamente, devo ancora vedere il primo programma di installazione che consenta realmente installazioni sia per utente che per macchina.Molti programmi di installazione offrono questa opzione nella loro GUI, ma l'impostazione influisce solo sulla posizione in cui si trovano i collegamenti, ecc.vai: i file binari vanno sempre a %ProgramFiles%.

In effetti, è piuttosto difficile creare pacchetti Windows Installer che consentano entrambi i tipi di installazione, per usare un eufemismo.Con l'avvento dell'UAC, direi che è impossibile:Le installazioni per utente non devono richiedere l'elevazione, mentre le installazioni per macchina sì.Ma se un pacchetto MSI richiede l'elevazione è controllato tramite un bit nel flusso di informazioni di riepilogo: non c'è modo di far sì che l'input dell'utente abbia un impatto su questo.

Se per utente o per macchina sia la scelta migliore dipende in gran parte dall'applicazione.Per i pacchetti di piccole dimensioni, tuttavia, tendo a preferire le installazioni per utente.Oltre ad essere leggermente più user-friendly poiché non richiedono un prompt UAC o runas, segnalano anche all'utente che la configurazione non danneggerà molto il computer (supponendo che non sia un amministratore).

Il programma di installazione di Chrome dovrebbe davvero consentire l'installazione globale (con elevazione) oltre a quella per utente.Non voglio dover mantenere un'installazione per ogni utente;Voglio essere in grado di gestire centralmente gli aggiornamenti e così via.Chrome non lo consente.

Detto questo, l’opzione di installazione per utente è piuttosto interessante, poiché non comporta problemi di autorizzazione.

Solo perché tu lo sappia, Google ha creato un programma di installazione MSI per l'installazione e la gestione globale del sistema.Si trova qui:

https://www.google.com/intl/it/chrome/business/browser/

Non vedo nulla in %PROGRAMFILES% su Win7.Sembra che Chrome debba essere installato per ciascun utente sul computer.

Forse la vera ragione per farlo è falsificare il numero di installazioni di Chrome di poche volte!Diventando così il primo browser al mondo!

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