7zip - 使用指定的提取路径创建自解压存档 (sfx)

Not*_*PRO 16 zip extract archiving self-extracting 7-zip

我正在尝试获取 7zip SFX 存档以创建可执行文件。我能够获得可执行文件。但是当我运行它时,它给出了Extract to:. 我想改为%AppData%\Roaming默认。下面的屏幕截图将给出我正在尝试做的事情的想法。

7zip 设置

提取到:对话框

setup.exe存档中没有或没有任何内容,它只有几个需要转到Roaming文件夹的文件。这适用于我们的许多用户,他们无需指定路径即可获得此更新。(当用户不必指定路径时总是很容易的,否则,我的经验是用户可以选择最不寻常的路径!!)

更新

这是我迄今为止尝试过的。我的配置文件内容是

;!@Install@!UTF-8!
InstallPath="%AppData%\\Roaming\\Notepad++"
;!@InstallEnd@!
Run Code Online (Sandbox Code Playgroud)

这是命令行调用。

copy /b 7zS.sfx + config.txt + Installer.7z myinstaller.exe
Run Code Online (Sandbox Code Playgroud)

不幸的是它不起作用。它给出了以下路径。应该是%AppData%\\Roaming\\Notepad++

![提取路径]

Dav*_*ill 9

我想%AppData%\Roaming默认将提取路径更改为。

您需要从7z SFX Builder (sourceforge)下载“修改后的模块” 。

检查左侧链接以获取文档(注意这些链接和下面的文本来自https://web.archive.org/

在您的配置文件中:

InstallPath="%AppData%\Roaming"
Run Code Online (Sandbox Code Playgroud)

配置文件参数

InstallPath="path_to_extract"

设置提取路径。解压后不会删除解压文件夹。

如果InstallPath配置文件中不存在该值或路径已从交互式提取对话框中删除,则存档将被提取到临时文件夹中。在提取和执行所有命令后,将删除此临时文件夹。

允许环境变量(除了 中%%T定义的和 变量SetEnvironment,如果%%T在其中任何一个中使用)。您必须在路径中使用双反斜杠。例如:

InstallPath="C:\\Windows\\system32\\test"
Run Code Online (Sandbox Code Playgroud)

或者

InstallPath="%PROGRAMFILES%\\test"
Run Code Online (Sandbox Code Playgroud)

允许使用相对路径。当前文件夹是执行启动 SFX 存档的程序的文件夹。例如,

InstallPath="test"
Run Code Online (Sandbox Code Playgroud)

在执行启动 SFX 存档的程序的文件夹中创建一个名为“test”的文件夹。所有文件都将被提取到“test”文件夹中。另一方面,

InstallPath="."
Run Code Online (Sandbox Code Playgroud)

将存档内容提取到执行启动 SFX 存档的程序的文件夹中。还,

InstallPath="%%S"
Run Code Online (Sandbox Code Playgroud)

将存档内容提取到 SFX 所在的文件夹。

如果您只需要将存档内容提取到某个文件夹,则需要InstallPath在配置文件中指定一个值。

在这种情况下,您不应在配置文件中指定RunProgramExecuteFileAutoInstall或者AutoInstallX可以在配置文件中指定,但不应通过命令行或 [SHIFT] 键调用。

如果指定RunProgramorExecuteFile或调用AutoInstalland AutoInstallX,则提取后将启动指定的可执行文件。

配置文件参数


ome*_*pes 8

试试7z SFX Builder,它是免费的,支持命令行参数,您还可以在GUI Main Tab上指定提取路径:

主选项卡