Qual é a principal diferença entre os arquivos de instalação MSI e EXE?

13

Certamente vemos que alguns dos .exearquivos devem ser executados, mas quais são as diferentes funcionalidades dos arquivos MSI?

Dhaiwat budh
fonte
Veja as respostas abaixo ou talvez leia sobre os benefícios corporativos do msi em serverfault.com. Este artigo descreve em detalhes o que beneficia arquivos MSI é suposto rendimento ..
Stein Åsmul

Respostas:

7

MSI é acrônimo para Microsoft Silent Installer, executa o instalador .exe em segundo plano.

É usado no GPO, por exemplo, se você deseja implantar um aplicativo em uma infraestrutura do Windows que você está gerenciando, é necessário criar uma nova regra de GPO com o MSI e o MSI será instalado em todas as máquinas sem a necessidade de intervenção do usuário.

GPO sendo "Objeto de Diretiva de Grupo" que "fornece o gerenciamento e a configuração centralizados de sistemas operacionais, aplicativos e configurações de usuários em um ambiente do Active Directory".

Clem
fonte
1
GPO sendo "Objeto de Diretiva de Grupo" que "fornece o gerenciamento e a configuração centralizados de sistemas operacionais, aplicativos e configurações de usuários em um ambiente do Active Directory".
RedGrittyBrick 13/09/12
5
... mais como [M] icro [s] muitas vezes [i] mais instante. De onde diabos você ficou "calado"? Não, os MSIs não executam ex-PE em segundo plano (eles são capazes disso, mas essa não é sua única ou até principal função).
Bob
3
The Windows Installer (previously known as Microsoft Installer) is a software component...- Wikipedia . Sim, o MSI é o MicroSoft Installer e não o instalador silencioso.
Jet
3
A maior parte desta resposta está realmente errada. Por favor, leia as outras respostas neste tópico.
Stein Åsmul
Estou ouvindo esse formulário completo Microsoft Silent Installerpela primeira vez. Eu sempre soube que MSI significa M ICRO s oft I nstaller`. Você tem alguma citação oficial que o diga?
RBT
11

O que é um instalador? Bem, um instalador prepara um sistema para permitir a execução de um programa: instala esse programa. Durante esse processo, um instalador (no Windows) pode copiar arquivos para os locais do sistema, colocar atalhos para iniciá-lo, atualizar bibliotecas, remover versões mais antigas, etc. Não há padrão ou formato de instalador universal; qualquer programa que execute essas ações ("instala" outro programa) pode ser chamado de instalador.

Um arquivo "exe" no Windows é conhecido como arquivo executável portátil e contém instruções arbitrárias, código de máquina nativo ou código de bytes .NET. Não há nada sobre o formato PE que o identifique como um instalador. Obviamente, com o código de máquina arbitrário, você pode escrever um instalador - e os instaladores "exe" que você vê adotam essa abordagem.

Algumas pessoas escrevem seus próprios instaladores personalizados. Outros usam geradores de instalação para economizar tempo e esforço; estes incluem NSIS, InnoSetup, InstallShield e muito mais.

MSI é um formato específico usado para armazenar informações sobre uma instalação, um banco de dados de quais etapas executar e quais arquivos colocar onde. Por si só, não é executável; na verdade, é interpretado pelos msiexec.exesistemas Windows. Esse intérprete seguirá as etapas descritas no arquivo MSI. Em teoria, você poderia criar qualquer exe que use um banco de dados semelhante ao MSI (e o NSIS, o InnoSetup, etc., faça algo semelhante).

O que torna o MSI especial é que ele é incluído e interpretado por ferramentas internas e também é integrado ao Active Directory para facilitar a implantação em muitas máquinas em um ambiente corporativo, e a resposta de Clem cobre isso com mais detalhes.

Prumo
fonte
6

Arquivos MSI são arquivos de banco de dados (especificamente bancos de dados MS-SQL) que descrevem a instalação por meio de tabelas de banco de dados e são instalados por meio de um conjunto complexo de sequências de instalação definidas no próprio arquivo MSI.

Os arquivos MSI não estão sendo instalados como arquivos EXE em segundo plano como gravações "Clem" - eles são consumidos pelo Windows Installer Engine, acessível através da interface da linha de comandos msiexec.exe . Ou talvez experimente as amostras de linha de comando anotadas do msiexec.exe do Advanced Installer . Em seguida, a instalação é executada por meio de duas sequências diferentes: a sequência da interface do usuário e a sequência de instalação real - a última é executada no contexto do sistema usando a conta LocalSystem . Esse arranjo é necessário para permitir ao instalador direitos temporários de administrador ou direitos elevados, que é o termo apropriado.

Os instaladores do EXE podem ser qualquer coisa. Na maioria das vezes, são instaladores baseados em script de estilo mais antigo que não são baseados em bancos de dados, mas um arquivo EXE também pode ser um wrapper que contém arquivos MSI e componentes de tempo de execução associados. Tudo depende e deve ser investigado em cada caso particular.

Stein Åsmul
fonte