创建7-Zip SFX可执行文件


7

我正在玩7-Zip来创建一个自解压存档(SFX)可执行文件。我按照文档,但我无法接近。我正在使用7-Zip 32位和7-Zip额外32位。

这是我首先要创建一个SFX文件,你需要调用以下脚本:

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

这将生成一个archive.exe将使config.txt文件运行适当的程序。这是config.txt文件的样子:

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

这将产生archive.exe

现在在文档中进一步说明它如何添加文件。我需要压缩setup.exe文件,所以我使用以下脚本。

7z a -sfx a.exe setup.exe

我对这个例子感到困惑。我用archive.exe而不是a.exe吗?如果我这样做,我会收到一个错误,说archive.exe不是支持的存档类型。

如果我保留了名称a.exesetup.exea,并archive.exe使用前面的脚本将文件添加到其中,并且它所做的只是将文件解压缩到本地文件夹而不是执行它。

为什么会这样?

Answers:


7

我已经创建了有关如何执行此操作的分步说明,因为我对如何使其工作非常困惑。

如何使用7zip -sfx开关生成运行setup.exe的自解压存档

第1步 - 设置安装文件夹

要轻松创建文件夹c:\ Install。这是我们将复制所有必需文件的地方。

步骤2 - 7ZZ您的安装程序

  1. 转到包含.msi和setup.exe的文件夹
  2. 选择.msi和setup.exe
  3. 右键单击并选择7Zip - >“添加到存档”
  4. 将您的存档命名为“Installer.7z”(或您选择的名称)
  5. 单击确定
  6. 你现在应该有“Installer.7z”。
  7. 将此.7z文件复制到c:\ Install目录

第3步 - 获取7z-Extra sfx扩展模块

你需要下载7z-Extra。

  1. 点击此链接去下载7Zip
  2. 您需要下载9.20版本(截至2015年5月),因为测试版不包含正确的文件。
  3. 一个直接的下载链接。
  4. 提取7zip额外文件
  5. 将文件“7zS.sfx”复制到c:\ Install

第4步 - 设置config.txt

我建议使用NotePad ++编辑此文本文件,因为您需要使用UTF-8编码,以下说明使用notepad ++。

  1. 使用Windows资源管理器转到c:\ Install
  2. 右键单击并选择“新建文本文件”并将其命名为config.txt
  3. 右键单击并选择“使用NotePad ++编辑”
  4. 单击“编码菜单”,然后选择“以UTF-8编码”
  5. 输入以下内容:
    ; @安装@ UTF-8!
    Title =“SOFTWARE v1.0.0.0”
    BeginPrompt =“你想安装SOFTWARE v1.0.0.0吗?”
    RunProgram = “setup.exe” 文件
    ; @ InstallEnd @!
    

使用您的产品名称编辑此替换[SOFTWARE v1.0.0.0]。有关安装文件的参数和选项的说明,请参见此处

检查点

您现在应该有一个文件夹“c:\ Install”,其中包含以下3个文件:

  1. Installer.7z
  2. 7zS.sfx
  3. 的config.txt

第5步 - 创建存档

我在网上找到的这些说明,但没有解释上述4个步骤中的任何一个。

  1. 打开一个cmd窗口,Window + R - > cmd - >按回车键
  2. 在命令窗口中键入以下内容
光盘
cd安装
copy / b 7zS.sfx + config.txt + Installer.7z MyInstaller.exe
  1. 查看c:\ Install,您现在将看到您有一个MyInstaller.exe
  2. 你完蛋了

运行安装程序

双击MyInstaller.exe,它将提示您的消息。单击“确定”,将运行setup.exe。

关于自动化的PS说明

现在您已经在c:\ Install目录中工作了,我将创建一个“Install.bat”文件并将复制脚本放入其中。

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

现在,每次需要重新构建新版本的部署包时,您都可以编辑并运行Install.bat。



5

这几乎是正确的。

在步骤中:

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

archive.7z文件是包含所有文件的7-zip存档。这应该是最后一步。

在此步骤之前,应创建archive.7z,其中包含setup.exe及其所需的任何其他文件。用以下方法创建:

7z a archive.7z setup.exe

1

使用7zip SFX-Packager(它是开源的.bat文件)很容易,只需“拖放”文件夹就可以了,它创建了一个便携式/自解压包。

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.