我们使用Visual Studio和WIX创建了一个非常好的新安装程序。现在我正在尝试将其压缩并制作一个自解压安装程序以供分发。
我可以很好地创建installer.exe,然后运行。安装程序启动,但失败了。
我认为这是因为7zip exe在安装程序有机会使用之前删除了文件(我们正在运行setup.exe来启动安装程序)。
我已经搜遍了所有,但找不到任何关于如何使这项工作的提示。我错过了7zip的选项吗?
创作线:
7z a myInstaller.7z installer/bin/release/*
copy /b \program files\7-zip\7zsd.sfx config.txt myInstaller.exe
Config.txt是
;!@Install@!UTF-8!
Title="My Title"
RunProgram="Setup.exe"
;!@InstallEnd@!
http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/3731985c-d9cc-4403-ab7d-992a0971f686有一个解决方法(Phylliss大约7/8下来),但这似乎很狡猾。这真的是让这项工作成功的唯一途径吗?
答案 0 :(得分:2)
我不能立即通过你的样本告诉它有什么问题。但是,这是我用来构建7z自解压存档的方法,它运行良好,只有在安装完成后才删除文件。
配置文件:
;!@Install@!UTF-8!
Title="My Installer"
InstallPath="%temp%\\Temp_Installation"
RunProgram="setup.exe"
Delete="%temp%\\Temp_Installation"
;!@InstallEnd@!
创建脚本(NAnt):
<exec program="${_7z.exe}" workingdir="${path}\SFX">
<arg line="a -y -r ${path}\setup.7z" />
<arg line="${paths.build.to7z}\*.*"/>
</exec>
<exec program="cmd.exe" verbose="true" workingdir="${path}\SFX">
<arg value="/C" />
<arg line="copy /b 7ZSD_All.sfx + ${config} + ${path}\setup.7z" />
<arg file="${paths.build.sfx}\setup.exe"/>
</exec>
希望这可以帮助您找到问题的根源。您可能还会检查是否使用了最新版本的7z SFX模块。
答案 1 :(得分:0)
当我省略删除时,对我有用:
;!@Install@!UTF-8!
Title="My Installer"
InstallPath="%temp%\\Temp_Installation"
RunProgram="setup.exe"
;!@InstallEnd@!