7zip - Crie um arquivo de extração automática (sfx) com o caminho de extração especificado

15

Olá Especialistas em superusuário,

Obrigado por sua ajuda em avançado. Estou tentando obter o arquivo SFX 7zip para criar um executável. Eu sou capaz de obter o executável. Mas quando eu o executo, ele fornece o caminho para downloads Extract to:. Gostaria de mudar para %AppData%\Roamingpor padrão. A captura de tela abaixo dará uma idéia do que estou tentando fazer.

Configurações 7zip

Extrair para: caixa de diálogo

Não há setup.exe nem nada dentro do arquivo, ele tem apenas alguns arquivos que precisam ir para a Roamingpasta. Isso é para muitos de nossos usuários, que podem obter essas atualizações sem especificar um caminho. (É sempre fácil quando os usuários não precisam especificar um caminho, caso contrário, é minha experiência que eles possam escolher os caminhos mais incomuns !!)

Obrigado.

Atualizar

Aqui está o que eu tentei até agora. meu conteúdo do arquivo de configuração é

;!@Install@!UTF-8!
InstallPath="%AppData%\\Roaming\\Notepad++"
;!@InstallEnd@!

Esta é a chamada de linha de comando.

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

Infelizmente isso não funciona . Fornece o seguinte caminho. Deveria ser %AppData%\\Roaming\\Notepad++.

[Extrair caminho]

Gifcrazy
fonte
Esta opção está disponível no WinRAR, mas não conhece o 7-zip.
Não Root aqui plz ...

Respostas:

7

Experimente o 7z SFX Builder , é grátis, suporta parâmetros de linha de comando e você também pode especificar o caminho de extração na guia principal da GUI :

Guia principal

omegastripes
fonte
omegastripes, funciona muito bem. Obrigado. Tem uma quantidade incrível de opções. Muito obrigado.
Gifcrazy
A McAfee exclui o exe após a instalação por causa de um cavalo de Tróia ...
Lieven Cardoen
8

Gostaria de alterar o caminho de extração para %AppData%\Roamingpor padrão.

Você precisa baixar um "módulo modificado" do 7z SFX Builder (sourceforge).

Verifique os links à esquerda para obter documentação (observe esses links e o texto abaixo é de https://web.archive.org/ )

No seu arquivo de configuração:

InstallPath="%AppData%\Roaming"

Parâmetros do arquivo de configuração

InstallPath = "path_to_extract"

Define o caminho de extração. A pasta de extração não será excluída após a extração.

Se o InstallPathvalor não estiver presente no arquivo de configuração ou o caminho foi excluído da caixa de diálogo de extração interativa, o archive será extraído para uma pasta temporária. Essa pasta temporária será excluída após a extração e execução de todos os comandos.

Variáveis ​​de ambiente são permitidas (com exceção de %%Te variáveis ​​definidas em SetEnvironment, se %%Tfor usada em qualquer uma delas). Você DEVE usar barras duplas nos caminhos. Por exemplo:

InstallPath="C:\\Windows\\system32\\test"

ou

InstallPath="%PROGRAMFILES%\\test"

Caminhos relativos são permitidos. A pasta atual é aquela na qual o programa que iniciou o arquivo SFX foi executado. Por exemplo,

InstallPath="test"

cria uma pasta com o nome de "teste" na pasta a partir da qual o programa que iniciou o arquivo SFX foi executado. Todos os arquivos serão extraídos para a pasta "test". Por outro lado,

InstallPath="."

extrai o conteúdo do arquivo para a pasta da qual o programa que iniciou o arquivo SFX foi executado. Além disso,

InstallPath="%%S"

extrai o conteúdo do arquivo para a pasta em que o SFX está localizado.

Se tudo o que você precisa é extrair o conteúdo do arquivo para uma determinada pasta, você precisa especificar um valor para InstallPathno arquivo de configuração.

Nesse caso, você não deve especificar RunProgramou ExecuteFileno arquivo de configuração. AutoInstallou AutoInstallXpode ser especificado no arquivo de configuração, mas não deve ser chamado pela linha de comando ou com a tecla [SHIFT].

Se você especificar RunProgramou ExecuteFileou invocar AutoInstalle AutoInstallX, o executável especificado será iniciado após a extração.

Parâmetros do arquivo de configuração de origem

DavidPostill
fonte
Obrigado David. Mas você pode me dizer como usar o arquivo de configuração?
Gifcrazy
@Cricrazy Consulte Informações gerais sobre o módulo modificado que você deve baixar e verifique os links à esquerda. Resposta atualizada.
DavidPostill
Essa configuração de 7-Zip InstallPathé exatamente o que estou procurando. No momento, tenho que criar um arquivo em lotes para copiar arquivos da pasta de extração temporária para a pasta de tempo de execução do aplicativo: ;!@Install@!UTF-8! Title="Local Manager" InstallPath="C:\kiosk\update" RunProgram="7zbootstrap.bat" ;!@InstallEnd@! @ECHO OFF REM 7zbootstrap.bat SETLOCAL SET update=C:\Kiosk\update XCOPY *.* %update%\ /S /E /I /F /Y CD %update% ECHO LAUNCHING AUTOUPDATE.BAT SCRIPT TIMEOUT /T 5 /NOBREAK autoUpdate.bat No entanto, o link não funciona mais.
Papertape
Não é possível obter o mini-Markdown para formatar o bloco de código corretamente. Altere se você souber como. Obrigado.
Papertape
@papertape Novo link é sourceforge.net/projects/s-zipsfxbuilder
DavidPostill
0

Basta usar -y -o<PathToExtract>:Setup.exe -y -oc:\abc

user703610
fonte
2
Você pode dar um exemplo? o que é eg e -oc?
Gifcrazy 3/03
1
"eg" significa "expempli gratia", que basicamente significa "por exemplo". É comumente usado para indicar um exemplo, assim como você solicita. A resposta ainda não tem explicação e pode usar a formatação, mas inclui um exemplo completo.
Music2myear 03/03/19
Se você pode elaborar sobre o comando? Você deve sempre detalhar o que os comandos farão, pois o usuário do outro lado ficará atento aos comandos com funções que eles não conhecem.
Service Manager
Os parâmetros da linha de comando são passados ​​para o Exe contido.
Kazark