Cria o executável do 7-Zip SFX

7

Estou brincando com o 7-Zip para criar um arquivo executável de extração automática (SFX). Eu segui a documentação, mas não consegui chegar perto. Estou usando o 7-Zip 32 bit e o 7-Zip extra 32 bit.

Aqui é onde eu estou preso primeiro para criar um arquivo SFX você precisa chamar o seguinte script:

copy /b 7zS.sfx + config.txt + archive.7z archive.exe

Isso gerará um archive.exe que terá o arquivo config.txt para executar o programa apropriado. Aqui está como o arquivo config.txt se parece:

;!@Install@!UTF-8!
Title="7-Zip 4.00"
BeginPrompt="Do you want to install the 7-Zip 4.00?"
RunProgram="setup.exe"
;!@InstallEnd@!'

Isso gerará archive.exe .

Agora, mais abaixo, na documentação, você informa como adicionar um arquivo. Eu preciso compactar o arquivo setup.exe , então eu uso o seguinte script.

7z a -sfx a.exe setup.exe

Estou confuso sobre este exemplo. Eu uso archive.exe em vez de a.exe ? E se eu fizer isso, recebo um erro dizendo archive.exe não é um tipo de arquivo suportado.

Se eu mantivesse o nome a.exe e setup.exe no a e também incluísse o arquivo archive.exe nele usando o script anterior, e tudo o que ele fez foi extrair o arquivo para a pasta local em vez de executá-lo.

Por que isso está acontecendo?

    
por Doktoro Reichard 12.05.2011 / 16:09

4 respostas

7

Eu criei instruções passo a passo sobre como fazer isso, pois também fiquei muito confuso sobre como fazer isso funcionar.

Como fazer um arquivo de extração automática que executa o seu setup.exe com o switch 7zip -sfx

Passo 1 - Configure sua pasta de instalação

Para facilitar, crie uma pasta c: \ Install. Aqui é onde vamos copiar todos os arquivos necessários.

Passo 2 - 7Zip seus instaladores

  1. Vá para a pasta que possui seu .msi e seu setup.exe
  2.     
  3. Selecione o arquivo .msi e o setup.exe
  4.     
  5. Clique com o botão direito e escolha 7Zip - > "Adicionar ao arquivo"
  6.     
  7. Nomeie seu arquivo "Installer.7z" (ou um nome de sua escolha)
  8.     
  9. Clique em Ok
  10.     
  11. Agora você deve ter "Installer.7z".
  12.     
  13. Copie esse arquivo .7z para o diretório c: \ Install

Passo 3 - Obtenha o módulo de extensão 7z-Extra sfx

Você precisa baixar o 7z-Extra.

  1. Siga este link para acessar o download 7Zip
  2. Você precisa fazer o download da versão 9.20 (como @ May-2015), pois a versão beta não contém os arquivos corretos.
  3. Um link download direto .
  4. Extraia os arquivos extras de 7zip
  5. Copie o arquivo "7zS.sfx" para c: \ Install

Passo 4 - Configure seu config.txt

Eu recomendaria usar o NotePad ++ para editar este arquivo de texto, pois você precisará codificar em UTF-8, as instruções a seguir estão usando o notepad ++.

  1. Usando o Windows Explorer vá para c: \ Install
  2.     
  3. clique com o botão direito do mouse e escolha "Novo arquivo de texto" e nomeie-o como config.txt
  4.     
  5. clique com o botão direito do mouse e escolha "Editar com o NotePad ++
  6.     
  7. Clique no "Menu de codificação" e escolha "Codificar em UTF-8"
  8.     
  9. Insira algo assim:
    ;!@Install@!UTF-8!
    Title="SOFTWARE v1.0.0.0"
    BeginPrompt="Do you want to install SOFTWARE v1.0.0.0?"
    RunProgram="setup.exe"
    ;!@InstallEnd@!
    

Edite isto substituindo [SOFTWARE v1.0.0.0] pelo nome do seu produto. Notas sobre os parâmetros e opções para o arquivo de configuração estão aqui

Ponto de verificação

Agora você deve ter uma pasta "c: \ Install" com os 3 arquivos a seguir:

  1. Installer.7z
  2.     
  3. 7zS.sfx
  4.     
  5. config.txt

Passo 5 - Crie o arquivo

Estas instruções que encontrei na Web, mas em nenhum lugar, explicaram qualquer uma das 4 etapas acima.

  1. Abra uma janela cmd, Window + R - > cmd - > pressione enter
  2. Na janela de comando, digite o seguinte
cd \
cd Install
copy /b 7zS.sfx + config.txt + Installer.7z MyInstaller.exe
  1. Procure em c: \ Install e você verá agora que tem um MyInstaller.exe
  2. Você terminou

Execute o instalador

Clique duas vezes em MyInstaller.exe e ele será avisado com sua mensagem. Clique em OK e o setup.exe será executado.

P.S. Nota sobre automação

Agora que você está trabalhando no diretório c: \ Install, eu criaria um arquivo "Install.bat" e colocaria o script de cópia nele.

[csharp] Copiar / b 7zS.sfx + config.txt + Installer.7z MyInstaller.exe [/ csharp]

Agora você pode editar e executar o Install.bat toda vez que precisar reconstruir uma nova versão do pacote de implantação.

    
por 17.06.2015 / 17:38
5

É muito mais fácil usar a GUI do 7-Zip para criar um arquivo de extração automática. Escolha a opção SFX ao criar um arquivo 7z.

Veja este artigo wikiHow para passos detalhados .

    
por 15.05.2011 / 09:34
5

Isso está quase certo.

No passo:

copy /b 7zS.sfx + config.txt + archive.7z archive.exe

o arquivo archive.7z é o arquivo 7-zip que contém todos os seus arquivos. Este deve ser o último passo.

Antes deste passo, o arquivo archive.7z deve ser criado, contendo setup.exe e quaisquer outros arquivos necessários. Crie isto usando:

7z a archive.7z setup.exe
    
por 12.01.2012 / 23:19
0

É fácil com o 7zip SFX-Packager (é um arquivo .bat de código-fonte aberto) e uma maneira fácil de criar apenas pastas "Arrastar & soltar" e cria um pacote portátil / de extração automática.

    
por 13.04.2018 / 12:53

Tags