Quando um fornecedor disponibiliza um MSI, um EXE ou ambos, a escolha entre um instalador MSI e EXE resume-se à previsibilidade da instalação. Todos os MSI são executados através do Windows Installer e utilizam os mesmos parâmetros silenciosos, registos e comandos de desinstalação, enquanto cada EXE se comporta de acordo com a ferramenta que o criou. Essa diferença determina quanta pesquisa é necessária para a implementação e que tipo de aplicação Intune pode ser utilizado.
Escolher a opção certa exige mais do que uma comparação básica. Muitas explicações ficam-se pelas definições, e algumas afirmações comuns estão erradas, como a ideia de que todos os EXE são autónomos ou de que apenas os MSI podem ser implementados em escala. As equipas de TI precisam de saber como cada formato se comporta realmente durante a implementação.
Com isso em mente, vamos explorar os instaladores MSI vs EXE, ver como cada um funciona e ajudar a encontrar a escolha certa para as implementações das suas aplicações.
O que é um instalador MSI?
Um MSI é um pacote Windows Installer que contém a lógica e os dados necessários para instalar uma aplicação. Windows Installer (msiexec.exe) lê o pacote e instala-o no dispositivo, seguindo quaisquer comandos e instruções especiais incluídos. Cada MSI tem um código de produto, que as ferramentas de implementação usam para detetar se está instalado e para o desinstalar.
Todos os MSI funcionam com o mesmo motor, pelo que utilizam as mesmas opções de linha de comandos, como /qn para uma instalação silenciosa sem interface do utilizador ou /norestart para controlar os reinícios. Os administradores podem personalizar a instalação sem editar o pacote através de propriedades públicas na linha de comandos ou de uma transformação (sob a forma de um ficheiro .mst ficheiro). Para o conjunto completo de parâmetros e códigos de saída, consulte o nosso guia de instalação silenciosa MSI.
Com MSI, as reversões estão ativadas por predefinição, pelo que, se uma instalação falhar, o Windows Installer reverterá quaisquer alterações. No entanto, os autores do pacote podem desativar a reversão, e as ações personalizadas só são revertidas se o autor do pacote adicionar passos de reversão para elas.
O que é um instalador EXE?
Um EXE é um tipo de ficheiro em que .exe é a extensão de um programa Windows, pelo que o seu comportamento depende da ferramenta usada para o criar. Existem vários builders comuns, como InstallShield, NSIS e Advanced Installer, cada um com os seus próprios silent switches, registo e comportamento de reinício. O nosso guia de instalação silenciosa de EXE abrange os switches de cada um.
Devido à variedade de EXEs, estes podem comportar-se de diferentes formas. Alguns instalam ficheiros diretamente, enquanto outros são wrappers que incluem MSIs e os entregam ao Windows Installer. Embora possa parecer estranho incluir um MSI num EXE, isso permite ao EXE verificar os pré-requisitos, instalá-los pela ordem correta e usar um assistente de instalação personalizado.
Embora muitos acreditem que cada EXE é um arquivo autónomo do programa, os EXE encapsuladores acima mostram que isso nem sempre é o caso.
Instalador MSI vs EXE: principais diferenças para a implementação
Então, quais são as principais diferenças entre os instaladores MSI e EXE? Podemos dividi-las da seguinte forma:
Característica | MSI | EXE |
O que executa a instalação | Windows Installer (msiexec.exe) | A lógica do próprio EXE, ou o Windows Installer se o EXE encapsular um MSI |
Parâmetros de instalação silenciosa | O mesmo para todos os MSI: /qn ou /quiet | Depende da ferramenta que o criou; alguns EXEs não têm nenhum |
Registo | /l*v escreve um registo detalhado para qualquer MSI | Varia: /LOG (Inno Setup), /debuglog (InstallShield setup.exe), /log (WiX Burn) |
Personalização | Propriedades públicas na linha de comandos, ou uma transformação (.mst) | Quaisquer opções que o fornecedor tenha incluído; as instalações InstallShield InstallScript precisam de um ficheiro de resposta gravado |
Falha na instalação | A reversão está ativada por predefinição (embora os autores a possam desativar) | Depende da ferramenta que o criou |
Desinstalação silenciosa | msiexec /x com o ficheiro ou o código do produto | O desinstalador do fornecedor e o respetivo parâmetro silencioso |
Tipo de aplicação Intune | Aplicação de linha de negócio (um argumento de linha de comandos) ou aplicação Win32 | Apenas aplicação Win32 |
Regra de deteção do Intune | Regra de código de produto MSI disponível | Regra de ficheiro, registo ou script |
Pré-requisitos e pacotes | Um produto por pacote (Windows Installer 4.5+ pode encadear pacotes) | Os EXEs bootstrapper podem instalar pré-requisitos e vários pacotes por ordem |
Tendo estas diferenças em conta, é claro que não existe um único formato superior para todas as situações. Embora o MSI forneça comandos, registos e afins previsíveis e uniformes, o EXE oferece mais flexibilidade. No entanto, em troca dessa flexibilidade, os instaladores EXE também exigem pesquisa antes de poderem ser implementados.
Como saber se um EXE é, na verdade, um MSI
O EXE que transferiu pode ser apenas um invólucro de distribuição com um MSI no interior. Nestes casos, muitas vezes é possível obter o comportamento de MSI através de parâmetros de passagem, ou implementar o MSI por si só. Determinar se o EXE tem um MSI pode demorar alguns minutos, mas pode poupar horas de pesquisa de parâmetros.
Pode verificar se um EXE contém um MSI seguindo alguns passos:
Consulte a documentação de implementação do fornecedor: Por vezes, a resposta está escrita de forma clara. Os fornecedores que suportam implementação empresarial publicam frequentemente um MSI ou documentam opções de msiexec para o seu EXE, pelo que é fácil encontrá-lo.
Execute o EXE com /? a partir de uma linha de comandos: Ao fazê-lo, é apresentada a saída de ajuda, que frequentemente indica a ferramenta que o criou. As configurações InstallShield Basic MSI passam as opções de msiexec através de /v (por exemplo, setup.exe /s /v"/qn"), e os EXE do Advanced Installer aceitam /exenoui seguido de parâmetros do msiexec.
Procure o manifesto WinGet da aplicação: Cada entrada de instalador no WinGet regista um InstallerType, como msi, burn, inno ou nullsoft. Se for uma entrada burn, isso significa que é um WiX bundle que encadeia pacotes e pode usar um MSI. As entradas Inno e Nullsoft, por outro lado, não usam o Windows Installer.
Abra o EXE com uma ferramenta de arquivo: Muitos EXEs de encapsulamento podem ser abertos com ferramentas como o 7-Zip, para que possa ver o ficheiro .msi ficheiro no interior.
Se houver um MSI dentro do EXE, o melhor é seguir a documentação do fornecedor e usar parâmetros de passagem, em vez de extrair o MSI manualmente. Extrair o MSI pode fazer com que ignore pré-requisitos ou definições incluídos no wrapper, por isso é sempre importante testar antes da implementação.
Como os instaladores MSI e EXE são implementados através do Microsoft Intune
Quando utiliza o Microsoft Intune para implementar uma aplicação, os instaladores MSI e EXE exigem métodos diferentes. Tenha em conta que o Intune não suporta instalações interativas, por isso, independentemente do formato utilizado, convém garantir que pode ser executado em modo silencioso.
Implementar um MSI
Ao implementar um MSI, tem duas opções: com uma aplicação Windows line-of-business (LOB), pode usar a aplicação diretamente, mas apenas pode utilizar um argumento de linha de comandos, enquanto com a gestão de aplicações Win32, pode adicionar mais argumentos. As aplicações Win32 encapsulam o MSI num ficheiro .intunewin com o Microsoft Win32 Content Prep Tool. Este, por sua vez, lê os detalhes do MSI para o Intune e pode ser detetado pelo respetivo product code.
Tenha cuidado ao misturar os dois. A combinação de instalações de aplicações LOB e Win32 durante a inscrição no Windows Autopilot pode falhar, porque ambas usam o serviço Trusted Installer ao mesmo tempo (a preparação de dispositivos Autopilot suporta esta combinação). Por esse motivo, a Microsoft sugere considerar exclusivamente o tipo de aplicação Win32, especialmente para instaladores com vários ficheiros.
Implementar um EXE
Os instaladores EXE não são aceites como aplicações de linha de negócio, por isso todos os EXE serão adicionados como uma aplicação Win32. O instalador é empacotado num ficheiro .intunewin e, em seguida, introduz o comando de instalação silenciosa, o comando de desinstalação e a regra de deteção ao adicionar a aplicação no Intune. Tenha em conta que não existe um código de produto para detetar, por isso será necessário usar uma regra de deteção de ficheiro, registo ou script.
Os EXEs também devolvem códigos diferentes quando é necessário reiniciar, por isso tenha isso em conta ao definir os códigos de retorno. Por exemplo, o Inno Setup devolve 0 quer seja ou não necessário reiniciar, a menos que defina /RESTARTEXITCODE.
MSI ou EXE: qual deve implementar?
Tendo em conta as diferenças entre os instaladores MSI e EXE, pode estar a perguntar-se qual deles é melhor para si. Embora a resposta varie consoante as opções do fornecedor, pode ter estes pontos-chave em mente ao avaliar as suas opções:
O fornecedor disponibiliza ambos: Se estiverem disponíveis MSI e EXE, comece pelo MSI. Isto dá-lhe os parâmetros silenciosos padrão, um registo detalhado e um código de produto para desinstalação e deteção sem exigir investigação extensiva.
O fornecedor recomenda o EXE: Se o fornecedor indicar que deve optar pelo EXE, isso normalmente significa que instala pré-requisitos ou componentes que o MSI, por si só, não instala. No entanto, confirme se este transmite as opções do msiexec, para que possa manter o controlo ao estilo do MSI.
Só está disponível um EXE: Se só estiver disponível um EXE, convém identificar a ferramenta que o criou e encontrar os respetivos parâmetros silenciosos antes de mais nada.
O EXE não tem uma opção silenciosa: As opções de instalação silenciosa são importantes, por isso, se o EXE não tiver uma, peça primeiro ao fornecedor uma versão MSI. Se isso não for possível, pode reempacotar o EXE capturando as alterações do instalador num novo pacote, embora os instaladores reempacotados sejam mais difíceis de manter ao longo das atualizações. Saiba mais em O que é o empacotamento de aplicações.
Implementa com Intune: Lembre-se de que um MSI só pode ser incluído como uma aplicação LOB se um único argumento de linha de comandos abranger o que é necessário. Se precisar de mais do que isso, será melhor usar Win32 para ambos os formatos.
Independentemente da opção escolhida, não se esqueça de testar tudo antes de implementar a aplicação em todos os dispositivos. Isto inclui instalação, deteção, desinstalação e códigos de saída, que devem ser testados num dispositivo limpo e repetidos para cada nova versão.
Porque é que todos os instaladores continuam a precisar de trabalho de packaging
Quer utilize um instalador EXE ou MSI, continuará a ser necessário fazer algum trabalho antes de o poder implementar. Embora os MSI reduzam a investigação, cada aplicação continua a precisar de ter o comando de instalação confirmado, regras de deteção, testes, empacotamento e muito mais. Depois, quando sai uma nova versão da aplicação, o processo recomeça.
Felizmente, as ferramentas certas podem automatizar este trabalho, poupando às equipas de TI tempo e energia que, de outra forma, seriam gastos em tarefas manuais monótonas de empacotamento. É aqui que entra o Splashtop Agentic Packr, uma ferramenta de empacotamento de aplicações com tecnologia de IA que ajuda as equipas a empacotar, validar e implementar aplicações com uma governação mais robusta e menos trabalho manual.
O Splashtop Agentic Packr pode:
Analise o instalador e crie um pacote PSADT com a lógica de instalação.
Escreva regras de deteção para cada aplicação.
Teste cada pacote numa máquina virtual limpa e execute uma verificação de segurança, com um scorecard de QA e registos para revisão, para que os administradores possam analisar os resultados antes de publicar qualquer coisa.
Crie o pacote do Intune e publique-o no Intune, ou crie bundles para implementar com o SCCM ou manualmente em dispositivos Windows.
Detete automaticamente novas versões da aplicação e crie pacotes atualizados.
Splashtop AEM (Autonomous Endpoint Management) acrescenta uma forma de executar scripts e tarefas nos seus endpoints, juntamente com os pacotes que o Splashtop Agentic Packr cria.
Empacote aplicações MSI e EXE para Intune sem a pesquisa por aplicação
Quando os fornecedores escolhem instaladores MSI ou EXE, essa decisão determina quanta pesquisa uma aplicação precisa antes de poder ser instalada. Os MSI exigem menos pesquisa e oferecem mais previsibilidade, enquanto os instaladores EXE proporcionam mais flexibilidade. Mesmo assim, cada aplicação e cada atualização terão de passar por empacotamento e testes antes de poderem chegar aos utilizadores em segurança.
Com o Splashtop Agentic Packr, pode transformar instaladores em pacotes Intune testados. O Agentic Packr automatiza o processo de empacotamento de aplicações, incluindo a leitura de instaladores, a criação de regras de deteção e os testes, sem necessidade de scripting manual nem de conhecimentos especializados em empacotamento. Isto acelera o empacotamento, mantendo as equipas de TI no controlo.
Quer saber mais sobre o Splashtop Agentic Packr? Veja como isso pode ajudar a implementar aplicações e atualizações com confiança hoje mesmo.





