如何进行自解压和运行安装程序

问题描述 投票:39回答:3

所以目前我的用户下载一个zipfile,解压缩然后运行setup.exe - 我希望他们只需点击一下即可。使用http://www.wikihow.com/Use-7Zip-to-Create-Self-Extracting-excutables我可以创建一个自解压exe,但它实际上并没有运行安装程序。

从这个问题

Why does 7zip Ignore my InstallPath when making a SFX installer?

看来我还需要一个.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?

7zip winrar sfx
3个回答
93
投票

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

How to make a self extracting archive that runs your setup.exe with 7zip -sfx switch

这是步骤。

Step 1 - Setup your installation folder

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

Step 2 - 7Zip your installers

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

Step 3 - Get the 7z-Extra sfx extension module

你需要下载7zSD.sfx

  1. here下载其中一个LZMA软件包
  2. 解压缩包并在7zSD.sfx文件夹中找到bin
  3. 将文件“7zSD.sfx”复制到c:\ Install

Step 4 - Setup your 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]。有关安装文件的参数和选项的说明,请参见此处

CheckPoint

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

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

Step 5 - Create the archive

我在网上找到的这些说明,但没有解释上述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. You are finished

Run the installer

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

P.S. Note on Automation

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

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

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


27
投票

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

  1. 首先,我现在意识到不仅自解压zip开始使用doubleclick进行提取,而且它们不需要在用户计算机上安装任何提取应用程序,因为提取器代码在存档本身中。这意味着您将获得不同的用户体验,具体取决于您用于创建sfx的应用程序
  2. 我按照以下方式使用WinRar,这不需要你创建一个sfx文件,所有东西都可以通过gui创建: 选择文件,右键单击并选择“添加到存档” 使用Browse ..在上面的文件夹中创建存档 将存档格式更改为Zip 启用创建SFX存档 选择高级选项卡 选择SFX选项 选择设置选项卡 在提取后运行字段中输入setup.exe 选择“模式”选项卡 启用解压缩到临时文件夹 选择文本和图标选项卡 为您的任务输入更合适的标题 选择确定 选择确定

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


1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.