您的问题令人困惑,但我相信您想要做的是创建一个包含多个文件并运行的自解压存档,并且该存档中包含的 NSIS 安装程序已解压缩。
你可以用 7zip 做到这一点。
使用 dos 批处理文件最容易做到这一点。打开记事本并创建"selfinstall.bat"
添加以下内容;
(
ECHO ;!@Install@!UTF-8!
ECHO Title="My Installer"
ECHO BeginPrompt="Do you want to run the installer?"
ECHO ExecuteFile="Setup.exe"
ECHO ;!@InstallEnd@!
) > temp.$$$
这将设置自解压器所需的信息,例如它的标题(我的安装程序)和要运行的可执行文件的名称(Setup.exe)
然后,添加行以创建您的 zip 文件
7z a -r files.7z myfolder
其中 myfolder 是包含所有文件的文件夹的名称。
现在,添加安装程序 - 确保安装程序 (Setup.exe) 位于 .7z 文件的根目录中
7z a files.7z Setup.exe
然后,将自解压器和 7z 复制到单个可执行文件中
copy /b 7z.sfx + temp.$$$ + files.7z "Install.exe"
然后删除你的临时文件
del files.7z
del temp.$$$
我根据我在这里看到的脚本改编了这个;http://www.911cd.net/forums//index.php?showtopic=18845
有关 .SFX 模块的更多信息,请参见此处;http://7zsfx.info/en/
还有一个用于 GUI 的 sourceforge 项目来完成此任务;http://sourceforge.net/projects/sfx-maker/