53

所以目前我的用户下载了一个压缩文件,解压缩然后运行 ​​setup.exe - 我希望他们一键完成。使用http://www.wikihow.com/Use-7Zip-to-Create-Self-Extracting-excutables我可以制作一个自解压 exe,但它实际上并没有运行安装程序。

从这个问题

为什么 7zip 在制作 SFX 安装程序时会忽略我的 InstallPath?

看来我还需要一个 .sfx 文件,所以我从另一个问题中复制并创建了一个包含以下内容的文件

;!@Install@!UTF-8!
InstallPath="C:\\test"
GUIMode="2"
RunProgram="setup.exe"
;!@InstallEnd@!

并调用 setup.sfx 并将其与其他文件一起添加到存档中

setup.ini
setup.exe
setup.ico
install.jar
JVM32 (folder)

但这没有什么区别,我还需要做什么。

补充问题,我也有 WinRar,我使用 7Zip 还是 Winrar 会影响最终用户体验吗?

4

3 回答 3

122

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

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

以下是步骤。

第 1 步 - 设置安装文件夹

为方便起见,创建一个文件夹 c:\Install。这是我们将复制所有必需文件的地方。

第 2 步 - 7Zip 安装程序

  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 扩展模块

你需要下载7zSD.sfx

  1. 从这里下载 LZMA 软件包之一
  2. 解压包并7zSD.sfxbin文件夹中找到。
  3. 将文件“7zSD.sfx”复制到 c:\Install

第 4 步 - 设置您的 config.txt

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

  1. 使用 Windows 资源管理器转到 c:\Install
  2. 右键单击并选择“新建文本文件”并将其命名为 config.txt
  3. 右键单击并选择“使用 NotePad++ 编辑”
  4. 单击“编码菜单”并选择“以 UTF-8 编码”
  5. 输入如下内容:

    ;!@Install@!UTF-8!
    Title="SOFTWARE v1.0.0.0"
    BeginPrompt="Do you want to install SOFTWARE v1.0.0.0?"
    RunProgram="setup.exe"
    ;!@InstallEnd@!
    

编辑此替换 [SOFTWARE v1.0.0.0] 为您的产品名称。有关设置文件的参数和选项的注释在此处

检查点

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

  1. 安装程序.7z
  2. 7zSD.sfx
  3. 配置文件

第 5 步 - 创建存档

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

  1. 打开一个cmd窗口,Window + R --> cmd --> 按回车
  2. 在命令窗口中键入以下内容

    cd \
    cd Install
    copy /b 7zSD.sfx + config.txt + Installer.7z MyInstaller.exe
    
  3. 查看 c:\Install ,您现在将看到您有一个 MyInstaller.exe

  4. 你完蛋了

运行安装程序

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

PS 关于自动化的说明

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

copy /b 7zSD.sfx + config.txt + Installer.7z MyInstaller.exe

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

于 2015-06-17T15:40:09.600 回答
28

好的,我已经开始工作了,希望这些信息有用。

  1. 首先,我现在意识到,自解压 zip 不仅可以通过双击开始解压,而且它们不需要在用户计算机上安装解压应用程序,因为解压器代码位于存档本身中。这意味着您将获得不同的用户体验,具体取决于您用于创建 sfx 的应用程序

  2. 我用WinRar如下,这不需要你创建一个 sfx 文件,一切都可以通过 gui 创建:

    • 选择文件,右键单击并选择添加到存档
    • 使用 Browse.. 在上面的文件夹中创建存档
    • 将存档格式更改为 Zip
    • 启用创建 SFX 存档
    • 选择高级选项卡
    • 选择音效选项
    • 选择设置选项卡
    • 在“解压后运行”字段中输入 setup.exe
    • 选择模式选项卡
    • 启用解压到临时文件夹
    • 选择文本和图标选项卡
    • 为您的任务输入更合适的标题
    • 选择确定
    • 选择确定

生成的 exe 解压缩到一个临时文件夹,然后启动安装程序

于 2015-01-12T15:36:55.047 回答
2

使用开源7zip SFX-Packager很简单——只需将文件夹“拖放”到它上面,它就可以创建一个便携式/自解压包。

于 2018-04-13T10:52:26.820 回答