Estou tentando criar um aplicativo implementável compactado.
Atualmente, estou pegando um conjunto de arquivos que publiquei do meu IDE (aplicativo publicado no Visual Studio 2008 - WPF) e os compactando em um arquivo SFX 7-Zip.
Meus usuários perguntaram se podem "instalar um clique" no 7-Zip exe. Existe uma lista de parâmetros quando estou criando o arquivo. Existe uma maneira de definir algum tipo de combinação de parâmetros para chamar o executável do instalador que é extraído?
Infelizmente, a documentação do 7-Zip parece não cobrir esse cenário. Eu já vi vários aplicativos pagos que fazem algo semelhante a isso, mas estou tentando manter a ferramenta que estou escrevendo livre de código licenciado para que possamos usá-lo internamente.
windows
compression
7-zip
Mike G
fonte
fonte
Respostas:
Você precisará fazer o download do SDK do LMZA do 7-Zip . O arquivo "installer.txt" contém a documentação:
Você precisa criar um arquivo config.txt.
Por exemplo:
fonte
A solução acordada está correta, mas na verdade não ajuda a explicar o que você realmente precisa fazer !. Li esta e muitas outras soluções e não consegui encontrar instruções simples completas e completas sobre como fazer isso.
Se você está confuso como eu, leia meu post no blog, que fornece instruções passo a passo sobre como obter o que Molly7244 postou.
Como criar um arquivo de extração automática que executa o setup.exe com a opção 7zip -sfx
Fui informado de que os links podem ficar mortos. Aqui estão as etapas do meu blog
Etapa 1 - Configure sua pasta de instalação
Para facilitar, crie uma pasta c: \ Install. É aqui que copiaremos todos os arquivos necessários.
Etapa 2 - 7 zipar seus instaladores
Etapa 3 - Obtenha o módulo de extensão 7z-Extra sfx
Você precisa fazer o download do 7z-Extra.
Etapa 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 bloco de notas ++.
Digite algo como isto:
Edite isso substituindo [SOFTWARE v1.0.0.0] pelo nome do seu produto. As notas sobre os parâmetros e opções para o arquivo de instalação estão aqui
CheckPoint
Agora você deve ter uma pasta "c: \ Install" com os 3 arquivos a seguir:
Etapa 5 - Criar o arquivo morto
Encontrei essas instruções na Web, mas em nenhum lugar ele explica qualquer uma das 4 etapas acima.
Na janela de comando, digite o seguinte
Procure em c: \ Install e agora você verá um MyInstaller.exe
Execute o instalador
Clique duas vezes em MyInstaller.exe e a mensagem será exibida. Clique em OK e o setup.exe será executado.
Nota PS sobre automação
Agora que você tem isso funcionando no diretório c: \ Install, eu criaria um arquivo "Install.bat" e colocaria o script de cópia nele.
Agora você pode editar e executar o Install.bat toda vez que precisar recriar uma nova versão do seu pacote de implantação.
fonte
ExecuteParameters
itemconfig.txt
? Por exemplo:C:\Install\MyInstaller.exe some_file.txt
seria executadosetup.exe some_file.txt
.Você também deve olhar para o NSIS . Com ele, você pode criar um instalador que é compactado com o mesmo método que o 7-Zip usa ( LZMA ), portanto deve ter aproximadamente o mesmo tamanho e ter controle total sobre o processo de instalação.
fonte
Com base na resposta de jcrawfor74, aqui estão algumas informações adicionais:
Em vez de 7zS.sfx , você também pode usar o arquivo 7zS2.sfx . Esta é uma versão muito menor (28 kB vs. 140 kB), mas não suporta o arquivo config.txt. Então você pode simplesmente deixar de fora no comando copy. Se você deseja apenas criar pequenos scripts de configuração, isso permite criar arquivos EXE menores.
O módulo SFX menor não faz nenhuma pergunta. Ele extrai os arquivos para uma pasta temporária como o outro módulo e localiza candidatos executáveis. De acordo com o código-fonte (também disponível na página de downloads), em C \ Util \ SfxSetup \ SfxSetup.c, ele pesa os arquivos de maneira diferente com base em seu nome e extensão e, em seguida, escolhe o arquivo com a pontuação mais alta.
Os dois módulos SFX são executados automaticamente como administrador , pelo menos no Windows 10, e isso não pode ser configurado. Embora esse comportamento possa ser desejável para configurações em todo o sistema, nem sempre esse é o caso. Além disso, essa decisão é baseada apenas nos dados da versão do arquivo, pois não há nenhum manifesto incluído que diga explicitamente ao Windows o que fazer. A compatibilidade do Windows examina o arquivo e localiza seqüências como "Instalação" que levam ao prompt de elevação.
Se você precisar de um módulo SFX que não solicite permissões de administrador, poderá reconstruir o módulo SFX a partir da fonte ou, mais simples, editar as informações da versão do arquivo com um editor de recursos como este . Apenas remova a palavra "Setup" do campo FileDescription, no caso do Resource Hacker mencionado, compile o arquivo e salve o arquivo EXE. Você também pode executar esta etapa no arquivo 7zS.sfx ou 7zS2.sfx diretamente e mantê-lo em algum lugar para poder usá-lo para criar pacotes SFX não elevados. E você pode usá-lo para personalizar totalmente as informações da versão do arquivo para colocar o nome do produto ou qualquer outra coisa que descreva a carga útil.
fonte