Instale o software: escolha .msi ou .exe?

34

Alguns sites de software permitem baixar o software para serem instalados como um arquivo .msi ou como um arquivo .exe. Quando a opção é dada, qual deles deve ser baixado para a instalação do software, ou seja: quais são as vantagens de usar o arquivo .msi em vez do instalador (.exe)?

Entendo a diferença entre os dois, pois o arquivo .msi é um pacote de instalação que será processado por um executável do Windows Installer. E o arquivo .exe é um executável que contém os arquivos de instalação e instalação. Mas qual é o verdadeiro benefício de escolher .msi em vez de .exe. No final, o resultado é o mesmo. Ou não?

Rabarberski
fonte
3
Como regra geral, o Windows leva uma eternidade para fazer as coisas; normalmente eu uso o .exe para pacotes de software menores que são instalados rapidamente por conta própria.
The Green Frog
1
Há uma pergunta sobre linhas semelhantes no Stackoverflow: estruturas do instalador de aplicativos do Windows . Eu acho que tem bons pontos para você.
Nik
7
"Como regra geral, o Windows leva uma eternidade para fazer as coisas"? Uma declaração ousada e falsa, se eu já vi uma.
caliban
2
Os arquivos MSI têm muitas vantagens para uso corporativo: Vantagens de implantação do MSI
Stein Åsmul

Respostas:

22

Geralmente, os pacotes msi são fornecidos para administradores de sistema que precisariam implantar o software em vários terminais em uma rede.

Os resultados não são diferentes de usar um executável, mas os pacotes msi às vezes têm opções adicionais, como fazer instalações silenciosas ou pré-configuradas.

Se você não é um administrador do sistema, use o executável.

caliban
fonte
4
O executável é muitas vezes menor devido à compressão melhor também, mas só tendem a conter e envolver o msi, extraindo-o automaticamente e disparando a instalação em / user modo opções seleciona interativo ...
Oskar Duveborn
5
MSIs não são apenas para administradores de sistemas - embora certamente eles sejam usados ​​por eles; Eu descobri que eles tendem a ser mais completamente removido ao fazer uma desinstalação em comparação com seus irmãos EXE (e não - eu não sei porque)
Warren
1
os MSIs não são mais seguros, já que um .exe pode ser qualquer coisa, mas um .msi é definitivamente um pacote de instalação?
Dave Cousineau
@Sahuagin Poderia ser um pacote de instalação que instala malware.
thameera 24/09/14
1
@thameera ainda parece ser uma grande diferença. um msi não terá um assistente, enquanto um exe será executado diretamente? um msi não será desinstalado automaticamente?
Dave Cousineau
5

Os arquivos MSI são bancos de dados relacionais e usados ​​pelo Microsoft Installation Service. Este serviço instala aplicativos no computador. Os arquivos MSI oferecem muito mais flexibilidade para instalação e manutenção de aplicativos do que os programas executáveis ​​com script mais antigos poderiam fornecer, portanto , os arquivos MSI são o método recomendado atualmente para instalações no Windows.


fonte
3
Como isso implica que o MSI é o método recomendado (leia-se: melhor)?
hasen
3

Não há nenhuma vantagem real do .exe sobre o .msi, a não ser que você use o Winrar (ou alguns outros), geralmente você pode extrair todos os arquivos de um arquivo .msi, sem precisar instalar nada.

William Hilsum
fonte
Você quis dizer .exe na segunda frase? Como o arquivo .exe descompactado geralmente possui uma estrutura de arquivos mais limpa que a do arquivo .msi (ambos podem ser abertos em um gerenciador de arquivamento).
usuário
1

Às vezes, especialmente ao instalar aplicativos .NET, há um Setup.exe e um .msi. No caso do .NET, o Setup.exe pode verificar se o sistema possui todos os pré-requisitos adequados instalados (como o .NET Frameowork, etc) para executar o aplicativo.

Se o seu sistema não tiver um desses pré-requisitos, ele poderá solicitar que você os instale primeiro antes de executar o aplicativo, o que pode impedir a instalação do aplicativo com êxito, mas falha na execução devido a uma biblioteca ou estrutura ausente.

Se você tiver todos os pré-requisitos, o Setup.exe apenas inicia o arquivo .msi

Casa do Moinho
fonte
Então você está dizendo que um msi não pode verificar o software necessário e solicitar ao usuário que o instale?
9789 Rabarberski
2
Um msi poderia verificar o software necessário, seria apenas um pouco mais complicado de codificar. Dependendo de quais ferramentas foram usadas para fazer o instalador, o Setup.exe pode ser gerado automaticamente por algumas ferramentas de desenvolvimento da MS, facilitando a vida do codificador. Aqui estão alguns detalhes que podem ajudar: msdn.microsoft.com/en-us/magazine/cc163899.aspx
Millhouse
1

Entre outras diferenças sutis:

Um único arquivo MSI pode ter apenas um código de idioma único para o assistente de instalação ( detalhes ).
Esse pode ser um motivo para distribuir um aplicativo como .exe, que é mais flexível.

Portanto, se o idioma do assistente de instalação for importante, você poderá ter melhor sorte com o arquivo .exe

Nicolas Raoul
fonte
Certamente esse é o principal motivo óbvio e contradiz as sugestões acima descritas pelos administradores do sistema! Com os devops globais, faz mais sentido para os administradores de sistema baixarem o exe. Maldito MS por tornar as coisas tão confusas.
Kill19 /
0

Pessoalmente, prefiro .zip (ou equivalente), se disponível. Para que eu possa extraí-lo onde quiser, para que eu saiba exatamente o que mudou no meu sistema (já que sou eu quem o mudou).

A situação ideal seria um programa portátil.

Embora se eu tiver que escolher entre exe e msi, eu escolheria exe. Só porque ..

Normalmente, os arquivos msi passam muito tempo fazendo pesquisas inúteis para configurações e coisas assim. O exe também pode fazer isso, mas é mais como um exe apenas extrai arquivos para algum lugar e instala atalhos do menu iniciar.

hasen
fonte
-2

IMHO, MSI é mais seguro no sentido de que, quando você foi infectado por um vírus, seus arquivos exe podem ser infectados, pois uma das maneiras pelas quais a propagação de vírus está travando seu código nos arquivos executáveis. Eles são menos propensos a fazer isso com um arquivo MSI.

Wilson
fonte