Wix安装程序包会产生损坏的“ msi”消息, [英] Wix installer bundle produces corrupt "msi"
问题描述
使用与示例中几乎相同的非常简单的代码:
Using very simple code almost same as in examples:
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Bundle Version="1.0" Manufacturer="ACME" UpgradeCode="6AF8AF7D-3B44-4496-9E64-56206DF66C55">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense"/>
<Chain>
<MsiPackage SourceFile="wpftoolkit.msi"/>
</Chain>
</Bundle>
</Wix>
我得到一个setup.msi文件,该文件在开始时就产生了错误:
I get a setup.msi file that produced error imidiatly in start:
msiexec /i setup.msi /l*v log.txt
log.txt:
=== Verbose logging started: 02.10.2013 14:12:11 Build type: SHIP UNICODE 5.00.7600.00 Calling process: C:\Windows\system32\msiexec.exe ===
MSI (c) (B0:48) [14:12:11:804]: Font created. Charset: Req=204, Ret=204, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg
MSI (c) (B0:48) [14:12:11:805]: Font created. Charset: Req=204, Ret=204, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg
MSI (c) (B0:A4) [14:12:11:823]: Resetting cached policy values
MSI (c) (B0:A4) [14:12:11:823]: Machine policy value 'Debug' is 0
MSI (c) (B0:A4) [14:12:11:823]: ******* RunEngine:
******* Product: Setup.msi
******* Action:
******* CommandLine: **********
MSI (c) (B0:A4) [14:12:11:824]: Note: 1: 2203 2: Setup.msi 3: -2147286960
MSI (c) (B0:A4) [14:12:11:824]: MainEngineThread is returning 1620
=== Verbose logging stopped: 02.10.2013 14:12:11 ===
Wix SDK中的工具dark.exe表示setup.msi已损坏,无法分解。
上周几次,我设法编译了这种类型的捆绑包,并且msi运作良好,但我无法弄清楚自己在做什么之间的任何关联。
Tool dark.exe from Wix SDK says that setup.msi is corrupt and cannot be disassembled. Several times last week I managed to compile this type of bundle and msi worked well, but I can't figure out any corellation between what I was doing.
我也尝试过不使用MSBuild而是直接使用Wix SDK工具来编译此示例-仍然没有运气-编译完成没有错误,但是生成的msi反正已损坏:
I've also tried to compile this example without using MSBuild, but directly with Wix SDK tools - still no luck - compilation finishes without errors, but resulting msi is corrupt anyway:
candle *.wxs
light *.wixobj -out setup.msi -ext WixBalExtension
在编译Wix捆绑软件时是否会错过一些东西,使它无法正常工作?
Is there something I've missed about compiling Wix bundles that prevents it from working right way?
推荐答案
这完全违反直觉,但我想我已经找到了解决方法:
It is absolutely counterintuitive, but I think I've found a solution:
candle *.wxs
light *.wixobj -out setup.EXE -ext WixBalExtension
输出格式为 EXE ,而不是 MSI 。简单吧?
The output format is EXE, not MSI. Simple, right?
BTW, SharpDevelop (我相信和Visual Studio一样)没有任何选项可以将输出文件指定为EXE-只有MSI,msp和wixlib。
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.
这篇关于Wix安装程序包会产生损坏的“ msi”消息,的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!