所以目前我的用户下载一个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?
答案 0 :(得分:88)
我已经创建了有关如何执行此操作的分步说明,因为我对如何使其工作非常困惑。
How to make a self extracting archive that runs your setup.exe with 7zip -sfx switch
以下是步骤。
要轻松创建文件夹c:\ Install。这是我们将复制所有必需文件的地方。
您需要下载7zSD.sfx
7zSD.sfx
文件夹中找到bin
。我建议使用NotePad ++编辑此文本文件,因为您需要使用UTF-8编码,以下说明使用notepad ++。
输入以下内容:
;!@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个文件:
我在网上找到的这些说明,但没有解释上述4个步骤中的任何一个。
在命令窗口中输入以下内容
cd \
cd Install
copy /b 7zSD.sfx + config.txt + Installer.7z MyInstaller.exe
查看c:\ Install,您现在将看到您有一个MyInstaller.exe
醇>
双击MyInstaller.exe,它会提示您的消息。单击“确定”,setup.exe将运行。
现在您已经在c:\ Install目录中工作了,我将创建一个“Install.bat”文件并将复制脚本放入其中。
copy /b 7zSD.sfx + config.txt + Installer.7z MyInstaller.exe
现在,每次需要重建新版本的部署包时,都可以编辑并运行Install.bat。
答案 1 :(得分:26)
好的,我已经开始工作了,希望这些信息有用。
首先,我现在意识到,自解压zip不仅可以通过doubleclick开始提取,而且它们不需要在用户计算机上安装任何提取应用程序,因为提取器代码位于存档本身中。这意味着您将获得不同的用户体验,具体取决于您用于创建sfx的应用程序
我选择 WinRar ,如下所示,这不需要你创建一个sfx文件,一切都可以通过gui创建:
生成的exe解压缩到临时文件夹,然后启动安装程序
答案 2 :(得分:1)
使用开源7zip SFX-Packager很简单 - 只需“拖放”文件夹即可轻松实现,并创建一个便携式/自解压包。