Extrair MSI de EXE

Quero extrair o MSI de uma instalação EXE para publicar numa rede.

por exemplo, usando o Extractor Universal, mas não funciona para o ambiente de execução Java.

Author: Stein Åsmul, 2009-10-10

8 answers

7-Zip deve ser suficiente.

Com ele, você pode extrair todos os arquivos dentro do EXE (assim, também um arquivo MSI).

Embora você possa fazê-lo com 7-Zip, a melhor maneira é a instalação administrativa, como indicado por Stein Åsmul.

 22
Author: Burkhard, 2017-05-23 12:34:45

Para o InstallShield MSI, encontrei o seguinte para funcionar:

setup.exe /s /x /b"C:\FolderInWhichMSIWillBeExtracted" /v"/qn"

Este comando irá levar a um MSI extraído numa pasta que poderá indicar livremente e a um desinstalar silenciosamente mal-sucedido do produto.

A linha de comandos basicamente diz a configuração.tentar desinstalar o produto (/x) e fazê-lo silenciosamente (/s). Ao fazê-lo, deve extrair o MSI para um local específico (/b).

O comando /v passa argumentos para o instalador do Windows, em neste caso, o argumento /qn. O argumento /qn desactiva qualquer resultado gráfico do instalador.

 95
Author: Daniel Dreibrodt, 2014-06-04 09:35:14

Lista Rápida: existem vários tipos comuns desetup.exe ficheiros. Aqui estão alguns deles em uma "lista curta". mais detalhes detalhados aqui (para baixo).

Armadilha.Extracto de exe: (vários sabores para tentar)

setup.exe /a
setup.exe /s /extract_all
setup.exe /s /extract_all:[path]
setup.exe /stage_only
setup.exe /extract "C:\My work"
setup.exe /x
setup.exe /x [path]
setup.exe /s /x /b"C:\FolderInWhichMSIWillBeExtracted" /v"/qn"

dark.exe -x outputfolder setup.exe

dark.exe é um binário WiX - instalar o WiX para extrair uma configuração WiX.exe (a partir de agora). Mais (secção 4).

Há sempre:

setup.exe /?

Extracto de MSI: msiexec.exe / File.msi extracção:

 msiexec /a File.msi
 msiexec /a File.msi TARGETDIR=C:\MyInstallPoint /qn

Muitas Ferramentas de Configuração: é impossível cobrir todos os diferentes tipos de possíveis setup.exe ficheiros. Eles podem ter vários tipos de interruptores de linha de comando. existem tantas ferramentas possíveis que podem ser usadas. (non-MSI,MSI, admin-tools, multi-platform, etc...).

INE / Inno: Commmon, ferramentas gratuitas como Inno Setup parecem fazer extração de disco rígido (oficial unpacker, não tentou, por mim, executado por virustotal.com). Considerando que a NSIS parece uso regular de arquivos padrão do software de arquivo (7-zip et al) pode abrir e extrair.

aspectos gerais Truques: um truque é lançar o setup.exe e olha no 1) system's temp folder for extracted files. Outro truque é usar 2) 7-Zip, WinRAR, WinZip ou semelhantes ferramentas de arquivo para ver se eles podem ler o formato. Alguns afirmam sucesso por 3) opening the setup.exe in Visual Studio. Não é uma técnica Eu uso. 4) And there is obviously application repackaging - capturar as alterações feitas a um computador após uma configuração ter corrido e limpe-o - necessita de uma ferramenta especial (a maioria dos livres vem e vai, avançado O arquiteto instalador e AdminStudio são grandes jogador).


actualizar: uma apresentação rápida de várias ferramentas de implementação usadas para criar instalador: como criar o instalador do windows (ligações abrangentes).

E uma lista mais simples das ferramentas de desenvolvimento mais usadas a partir de Agora (2018), para uma leitura e visão mais rápidas.

E para segurança:


Apenas um aviso: um ficheiro setup.exe pode conter um MSI incorporado, pode ser um instalador de estilo legado (não-MSI) ou ele pode ser apenas um executável normal sem qualquer meio de extracção. A" discussão " abaixo apresenta primeiro o uso de imagens de administração para arquivos MSI e como extrair arquivos MSI da configuração.ficheiros exe. Em seguida, ele fornece alguns links para lidar com outros tipos de configuração.ficheiros exe. Veja também a seção de comentários.

UPDATE : algumas secções foram agora adicionadas directamente abaixo, antes da descrição do extracto de ficheiro MSI com a instalação administrativa. Mais significativamente, uma borrão sobre a extrair a configuração do WiX.exe bundles (new kid on the block). Lembre-se que um "último recurso" para encontrar extraídos dos arquivos de instalação é iniciado o instalador e, em seguida, olhar para os arquivos extraídos na pasta temp (Mantenha pressionado Chave do Windows, toque em R, tipo %temp% ou %tmp% e bater Digite) - tentar outras opções primeiro - por razões de confiabilidade.

peço desculpa pela "confusão generalizada" com tudo isto. inter-ligação. eu acredito que você vai encontrar o que você precisa se você cavar o suficiente nos links, mas o conteúdo deve ser realmente limpo e organizado melhor.

Ligações Gerais:

Teor de extracto:

Ligações do Fornecedor:

  • Instalação avançada do instalador.ficheiros exe .
  • Instalação do pára-brisas.ficheiros exe .
  • Instalação da suite do campo.ficheiros exe .

Pacotes Wix Toolkit & Burn (setup.ficheiros exe)

Tech Nota : a caixa de ferramentas WiX oferece agora setup.exe ficheiros compilados com a ferramenta de arranque Burn que necessita do próprio descompilador do toolkit dark.exe para extrair. A gravação é usada para criar a configuração.ficheiros exe que podem instalar vários MSI ou executáveis incorporados numa determinada sequência. Aqui está um comando de extracção de amostras:

dark.exe -x outputfolder MySetup.exe

Antes de poder efectuar tal extracção, são necessários alguns passos pré-requisitos:

  1. transferir e instalar o toolkit Wix (ligando a um anterior responda com alguma informação de contexto extra sobre WiX-bem como o link de download).
  2. depois de instalar o WiX, basta abrir um command prompt, CD para a pasta onde o setup.exe reside. Em seguida, indique o comando acima e carregue em indique
  3. a pasta de saída irá conter um par de sub-pastas que contêm tanto os ficheiros MSI e EXE extraídos como os manifestos e o ficheiro de recursos para a interface de gravação (se existirem na configuração).arquivo exe em primeiro lugar, claro).
  4. Agora já podes., por sua vez, extrair o conteúdo dos arquivos MSI extraídos (ou arquivos EXE). Para um MSI isso significaria executar uma instalação administrativa - como descrito abaixo.

Existe um suporte MSI incorporado para a extracção de ficheiros (admin install)

O MSI ou o instalador do Windows tem suporte incorporado para este-a extracção de ficheiros de um ficheiro MSI. Isto é chamado de instalação administrativa. Pretende-se, basicamente, como uma forma de criar um ponto de instalação de rede a partir do qual a instalação pode ser executada em muitos computadores-alvo. Isto garante que os arquivos fonte estão sempre disponíveis para quaisquer operações de reparo.

Note que executar uma instalação administrativa versus usar uma ferramenta zip Para extrair os arquivos é muito diferente! Este último não irá ajustar o layout de mídia da tabela de mídia para que o pacote seja definido para usar arquivos de fonte externa - que é a maneira correta. Prefere sempre executar o administrador actual instale sobre todas as extracções do hacky zip. Quanto à compressão, existem três algoritmos de compressão diferentes usado para os ficheiros de cabina dentro do formato de ficheiro MSI: MSZip, LZX e armazenamento (não comprimido). Todos estes são manuseados corretamente, fazendo uma instalação administrativa.

Importante : o instalador do Windows caches instalou ficheiros MSI no sistema para reparar, modificar e desinstalar cenários. A partir do Windows 7 (MSI versão 5) a os ficheiros MSI estão agora em cache de tamanho completo para evitar quebrar a assinatura do ficheiro que impede a linha de comandos do UAC no lançamento da configuração (um problema conhecido do Vista). Isto pode causar um aumento tremendo no consumo de espaço em disco (vários gigabytes para alguns sistemas). Para evitar cache de um arquivo MSI enorme, você deve executar uma instalação de administração do pacote antes de instalar. É assim que uma empresa com implantação adequada em uma rede gerenciada faria as coisas, e ele vai retirar os arquivos de cab e fazer uma rede instalar ponto com um pequeno arquivo MSI e arquivos além dele.


As instalações administrativas têm muitas utilizações

É recomendado ler mais sobre admin-installs uma vez que é um conceito útil, e eu escrevi um post no stackoverflow: para que serve a instalação administrativa iniciada com o msiexec /a?.

Em essência, a instalação administrativa é importante para:

    Extrair e inspeccionar o instalador arquivo
      Para ter uma ideia do que está realmente a ser instalado e onde ...
    • para garantir que os arquivos parecem confiáveis e seguros (nenhum vírus - malware e vírus ainda podem se esconder dentro do arquivo MSI embora)
  • implantação através de software de gestão de sistemas (por exemplo: SCCM)
  • reembalagem de aplicações corporativas
  • operações de reparação, modificação e auto-reparação
  • Patching & upgrades
  • Publicidade MSI (entre outros detalhes, isto envolve a funcionalidade "executar a partir do Código", onde poderá executar directamente a partir de uma partilha de rede e só poderá instalar atalhos e dados de Registo) {[[77]}
  • uma série de outros detalhes mais pequenos

Por favor, leia a publicação stackoverflow ligada acima para mais detalhes. É um conceito bastante importante para os administradores de Sistema , embalagens para aplicações, configurar os programadores, Os gestores de libertação, e mesmo os utilizador médio para ver o que estão a instalar, etc...


Admin-install, practical how to

Você pode realizar uma instalação administrativa de algumas maneiras diferentes dependendo de como o instalador é entregue. Essencialmente é entregue como um arquivo MSI ou embrulhado numa configuração .ficheiro exe .

Execute estes comandos a partir de um comando elevado, e siga as instruções na interface gráfica para o comando interactivo linhas:

  • Ficheiros MSI:

    msiexec /a File.msi
    
    Isso é para correr com a GUI, também podes fazê-lo silenciosamente.
    msiexec /a File.msi TARGETDIR=C:\MyInstallPoint /qn
    
  • Armadilha.ficheiros exe:

    setup.exe /a
    

A setup.o ficheiro exe também pode ser um legacy style setup (non-MSI) ou o temido Installscript MSI - um tipo de projecto buggy Installshield bem conhecido com um formato MSI híbrido não compatível com normas. É essencialmente um MSI com um costume, GUI mais avançado, mas também está cheio de bugs.

Para a configuração do legado.arquivos exe O / a não fará nada, mas você pode tentar o /extract_ all: [path] switch como explicado em Este pdf. É uma boa referência para instalação silenciosa e outras coisas também. Outro recurso é esta lista de configuração do Installshield.parâmetros da linha de comandos exe.

Ficheiros de patch MSI (*.MSP) pode ser aplicado a um administrador imagem para extrair adequadamente os seus ficheiros. 7Zip também será capaz de extrair os arquivos, mas eles não serão devidamente formatados.

Finalmente - o último recurso {[[42]} - Se nenhuma outra forma funcionar, você pode obter os ficheiros de configuração extraídos limpando a pasta temporária no seu sistema, inicie a configuração.exe interactivamente e, em seguida, esperar pela primeira janela para aparecer. Na maioria dos casos o instalador terá extraído um monte de ficheiros para uma pasta temporária. Às vezes os arquivos são plain, outras vezes em formato de CAB, mas Winzip, 7Zip ou mesmo Extrtor Universal (não testei este produto) - pode ser capaz de abrir estes.

 56
Author: Stein Åsmul, 2019-02-27 00:41:01

Acho que esta pergunta era principalmente sobre InstallShield dadas as tags, mas no caso de alguém vir aqui com o mesmo problema para pacotes baseados em WiX( e possivelmente outros), basta ligar para o instalador com / extract, assim:

C:\> installer.exe /extract
Isso vai colocar o MSI na pasta ao lado do instalador.
 15
Author: javawizard, 2012-12-18 02:31:59

Começando pelo parâmetro:

setup.exe /A

Pede para gravar os ficheiros incluídos (incluindo MSI).

Isto pode depender do software que criou o setup.exe.

 8
Author: Curt, 2011-06-02 05:59:05
A única maneira de fazer isso é correr o exe e recolher o MSI. A coisa que você deve cuidar é que se você está transformando o MSI usando MST eles podem se perder.

Uso Esta linha de comando em lote:

SET TMP=c:\msipath

MD "%TMP%"

SET TEMP=%TMP%

start /d "c:\install" install.exe /L1033

PING 1.1.1.1 -n 1 -w 10000 >NUL

for /R "%TMP%" %%f in (*.msi) do copy "%%f" "%TMP%"

taskkill /F /IM msiexec.exe /T
 6
Author: Cedric Debattista, 2014-08-27 06:27:51

Inicie o instalador, mas não carregue no botão Instale >. Então

cd "%AppData%\..\LocalLow\Sun\Java"

E encontre o seu ficheiro MSI numa das sub-pastas (por exemplo, jre1.7.0_25).

Note que Data1.cab a partir dessa sub-pasta também será necessário.

 3
Author: Roman Boiko, 2013-08-18 16:53:05

Não há necessidade de usar nenhuma ferramenta !! Podemos seguir o caminho simples.

Não sei que Ferramenta construiu o seu programa de configuração de auto-extracção e por isso, terei de fornecer uma resposta geral.

A maioria dos programas desta natureza extraem o ficheiro do pacote (.msi) no directório temporário. Este comportamento é o comportamento padrão do desenvolvedor InstallShield.

Sem informações adicionais, eu recomendaria que você simplesmente iniciasse a configuração e logo que a primeira janela MSI seja mostrado, você pode examinar a sua pasta temporária para um sub-diretório recém-criado ou um arquivo MSI. Antes de cancelar/parar um instalador, basta copiar esse ficheiro MSI da pasta temporária. Depois disso você pode cancelar a instalação.

 0
Author: Ajit Medhekar, 2016-03-23 12:05:50