Wix installer bundle produces corrupt “msi”

倖福魔咒の 提交于 2019-12-02 06:25:33

A Wix/Bundle is used to produce an executable that chains installers together. Therefore, the output should be given an .exe extension.

You can invoke the WiX Toolset compiler and linker manually as you appear to have done or use an MSBuild project. WiX installs a template project for Visual Studio to use. It's called WiX Bootstrapper. If you didn't know, Visual Studio and SharpDevelop projects are MSBuild projects. So, there are two more ways to build a build: Via the IDE or on the commandline with msbuild.exe.

Note: Visual Studio won't show the four WiX project templates if you install WiX before Visual Studio. In that case, simply Repair the WiX installation.

Ujin

It is absolutely counterintuitive, but I think I've found a solution:

candle *.wxs
light *.wixobj -out setup.EXE -ext WixBalExtension

The output format is EXE, not MSI. Simple, right?

BTW, SharpDevelop (as well as Visual Studio, I believe) doesn't have any option to specify the output file as EXE - only MSI, msp and wixlib.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!