Qual è la differenza principale tra i file di installazione MSI e EXE?


13

Vediamo certamente che alcuni .exefile devono essere eseguiti, ma qual è la diversa funzionalità dei file MSI?


Vedi le risposte di seguito o forse leggi i vantaggi aziendali di msi su serverfault.com. Questo articolo descrive in dettaglio quali vantaggi dovrebbero produrre i file MSI.
Stein Åsmul,

Risposte:


7

MSI è l'acronimo di Microsoft Silent Installer, esegue il programma di installazione .exe in background.

Viene utilizzato nell'oggetto Criteri di gruppo, ad esempio se si desidera distribuire un'applicazione su un'infrastruttura Windows che si sta gestendo, è necessario creare una nuova regola dell'oggetto Criteri di gruppo con MSI e MSI verrà installato su ogni macchina senza l'intervento dell'utente.

L'oggetto Criteri di gruppo è "oggetto Criteri di gruppo" che "fornisce la gestione e la configurazione centralizzate dei sistemi operativi, delle applicazioni e delle impostazioni degli utenti in un ambiente Active Directory".


1
L'oggetto Criteri di gruppo è "oggetto Criteri di gruppo" che "fornisce la gestione e la configurazione centralizzate dei sistemi operativi, delle applicazioni e delle impostazioni degli utenti in un ambiente Active Directory".
RedGrittyBrick,

5
... più come [M] icro [s] oft [I] nstaller. Da dove diavolo sei diventato "silenzioso"? No, gli MSIs non eseguono ex PE in background (ne sono capaci , ma non è la loro unica o addirittura principale funzione).
Bob,

3
The Windows Installer (previously known as Microsoft Installer) is a software component...- Wikipedia . Sì, MSI è MicroSoft Installer e non è un programma di installazione invisibile all'utente.
Jet

3
Gran parte di questa risposta è in realtà sbagliata. Leggi le altre risposte in questa discussione.
Stein Åsmul,

Sto ascoltando questo modulo completo Microsoft Silent Installerper la prima volta. Ho sempre saputo che MSI sta per M icro s oft I nstaller`. Hai qualche citazione ufficiale che lo dice?
RBT

11

Che cos'è un programma di installazione? Bene, un programma di installazione prepara un sistema per consentire l'esecuzione di un programma: installa quel programma. Durante questo processo, un programma di installazione (su Windows) potrebbe copiare i file nelle posizioni di sistema, posizionare collegamenti per avviarlo, aggiornare le librerie, rimuovere le versioni precedenti, ecc. Non esiste uno standard o formato di installazione universale; qualsiasi programma che esegue queste azioni ("installa" un altro programma) può essere chiamato installatore.

Un file "exe" in Windows è noto come file eseguibile portatile e contiene istruzioni arbitrarie, sia codice macchina nativo sia bytecode .NET. Non c'è nulla nel formato PE che lo identificherà come un programma di installazione. Ovviamente, con un codice macchina arbitrario sei in grado di scrivere un programma di installazione - e quei programmi di installazione "exe" che vedi adottano questo approccio.

Alcune persone scrivono i loro programmi di installazione personalizzati. Altri usano i generatori di programmi di installazione per risparmiare tempo e fatica; questi includono NSIS, InnoSetup, InstallShield e altro.

MSI è un formato specifico utilizzato per archiviare informazioni su un'installazione, un database di quali passi adottare e quali file mettere dove. Di per sé, non è eseguibile; è in realtà interpretato da msiexec.exesu sistemi Windows. Questo interprete seguirà quindi i passaggi indicati nel file MSI. In teoria potresti creare qualsiasi exe che utilizza un database simile a MSI (e NSIS, InnoSetup, ecc., Fanno qualcosa di simile).

Ciò che rende speciale MSI è che è incluso e interpretato da strumenti incorporati, ed è anche integrato in Active Directory per una più facile distribuzione su molte macchine in un ambiente aziendale, e la risposta di Clem lo copre in modo più dettagliato.


6

I file MSI sono file di database (in particolare database MS-SQL) che descrivono l'installazione tramite tabelle di database e si installano tramite una serie complessa di sequenze di installazione definite all'interno del file MSI stesso.

I file MSI non vengono installati come file EXE in background come scrive "Clem", ma vengono utilizzati dal motore di Windows Installer accessibile tramite interfaccia della riga di comando msiexec.exe . O forse provare gli esempi della riga di comando msiexec.exe dell'installatore avanzato . Quindi l'installazione stessa viene eseguita tramite due diverse sequenze: la sequenza dell'interfaccia utente e la sequenza di installazione effettiva , quest'ultima viene eseguita nel contesto di sistema utilizzando l' account LocalSystem . Questa disposizione è necessaria per consentire all'installatore diritti amministrativi temporanei o diritti elevati che è il termine appropriato.

Gli installer EXE possono essere qualsiasi cosa. Molto spesso si tratta di programmi di installazione basati su script più vecchi che non si basano su database, ma un file EXE può anche essere un wrapper contenente file MSI e componenti di runtime associati. Tutto dipende e deve essere studiato in ciascun caso particolare.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.