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


15

您好超级用户专家,

多谢您的协助。我正在尝试获取7zip SFX存档来创建可执行文件。我可以获取可执行文件。但是,当我运行它时,它为给出了下载路径Extract to:。我想更改为%AppData%\Roaming默认值。下面的屏幕快照将给出我要做什么的想法。

7zip设置

提取到:对话框

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

谢谢。

更新资料

到目前为止,这是我尝试过的。我的配置文件内容是

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

这是命令行调用。

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

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

[提取路径]


此选项可用于WinRAR,但不了解7-zip。
不要在这里扎根...

Answers:


7

尝试使用7z SFX Builder,它是免费的,支持命令行参数,您也可以在GUI Main选项卡上指定提取路径:

主标签


omegastripes,它很棒。谢谢。它具有惊人的选择数量。非常感谢。
Gifcrazy

McAfee由于特洛伊木马而在安装后删除了该exe ...
Lieven Cardoen

8

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

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

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

在您的配置文件中:

InstallPath="%AppData%\Roaming"

配置文件参数

InstallPath =“ path_to_extract”

设置提取路径。提取后,提取文件夹不会被删除。

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

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

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

要么

InstallPath="%PROGRAMFILES%\\test"

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

InstallPath="test"

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

InstallPath="."

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

InstallPath="%%S"

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

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

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

如果您指定RunProgramExecuteFile或调用AutoInstallAutoInstallX,则指定的可执行文件将在提取后启动。

配置文件参数


谢谢大卫。但是,您能告诉我如何使用配置文件吗?
Gifcrazy

@Cricrazy请参阅有关必须下载的已修改模块的常规信息,并检查左侧的链接。答案已更新。
DavidPostill

InstallPath我正在寻找7-Zip配置设置。现在,我必须创建一个批处理文件,以将文件从临时提取文件夹复制到应用程序的运行时文件夹: ;!@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 但是,链接不再起作用。
纸带

无法获得Mini-Markdown来正确格式化代码块。如果知道的话请修改。谢谢。
纸带


0

只需使用-y -o<PathToExtract>Setup.exe -y -oc:\abc


2
能给我举个例子吗?什么是-oc?
Gifcrazy

1
“ eg”代表“经验”,基本上是指“例如”。正如您所要求的,它通常用于指示示例。答案仍然没有解释,可以使用格式,但是它包含完整的示例。
music2myear,2017年

如果可以详细说明命令?您应该始终对将要执行的命令进行分类,因为另一端的用户将对带有未知功能的命令保持警惕。
服务经理

命令行参数将传递到所包含的Exe。
哈扎克(Kazark)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.