关于7zip:如何制作自解压文件并运行安装程序

How do I make a self extract and running installer

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

从这个问题

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

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

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

并命名为setup.sfx并将其添加到其他文件中进行归档

1
2
3
4
5
setup.ini
setup.exe
setup.ico
install.jar
JVM32 (folder)

但没关系,我还需要做什么。

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


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

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

步骤如下。

第1步-设置安装文件夹

为了简化此操作,请创建一个文件夹c:\ Install。这是我们将复制所有必需文件的地方。

第2步-7压缩安装程序

  • 转到包含.msi和setup.exe的文件夹
  • 同时选择.msi和setup.exe
  • 右键单击并选择7Zip->"添加到存档"
  • 将归档文件命名为" Installer.7z"(或您选择的名称)
  • 点击确定
  • 您现在应该具有" Installer.7z"。
  • 将此.7z文件复制到c:\ Install目录
  • 步骤3-获取7z-Extra sfx扩展模块

    您需要下载7zSD.sfx

  • 从此处下载LZMA软件包之一
  • 解压缩包并在bin文件夹中找到7zSD.sfx
  • 将文件" 7zSD.sfx"复制到c:\ Install
  • 第4步-设置您的config.txt

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

  • 使用Windows资源管理器转到c:\ Install
  • 右键单击并选择"新文本文件",并将其命名为config.txt
  • 右键单击并选择"使用NotePad ++编辑
  • 点击"编码菜单",然后选择"以UTF-8编码"
  • 输入如下内容:

    1
    2
    3
    4
    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]。
    有关设置文件的参数和选项的注释在此处。

    检查点

    现在,您应该拥有一个包含以下3个文件的文件夹" c:\ Install":

  • 安装程序7z
  • 7zSD.sfx
  • config.txt
  • 第5步-创建档案

    这些说明是我在网上找到的,但没有任何地方可以解释上面的4个步骤。

  • 打开一个cmd窗口,Window + R-> cmd->按Enter
  • 在命令窗口中键入以下内容

    1
    2
    3
    cd \\
    cd Install
    copy /b 7zSD.sfx + config.txt + Installer.7z MyInstaller.exe
  • 在c:\ Install中查找,现在您将看到My??Installer.exe。

  • 你完蛋了

    运行安装程序

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

    附言自动化注意事项

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

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

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


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

  • 首先,我现在意识到,不仅自压缩zip开始使用doubleclick进行提取,而且它们不需要在用户计算机上安装提取应用程序,因为提取器代码位于存档本身中。这意味着您将根据创建sfx的应用程序获得不同的用户体验。

  • 我按如下方式使用WinRar,这不需要您创建sfx文件,所有内容都可以通过gui创建:

    • 选择文件,右键单击并选择添加到存档
    • 使用浏览..在上面的文件夹中创建档案
    • 将存档格式更改为Zip
    • 启用创建SFX存档
    • 选择高级选项卡
    • 选择SFX选项
    • 选择设置标签
    • 在提取后运行字段中输入setup.exe
    • 选择模式选项卡
    • 启用"解压缩到临时文件夹"
    • 选择文本和图标选项卡
    • 为您的任务输入一个更合适的标题
    • 选择确定
    • 选择确定
  • 生成的exe解压缩到一个临时文件夹,然后启动安装程序


    使用开源7zip SFX-Packager十分简单-轻松地将文件夹"拖放"到其上,并创建便携式/自解压软件包。