使用与示例几乎相同的非常简单的代码:
<?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 文件,它在开始时立即产生错误:
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 运行良好,但我无法弄清楚我正在做的事情之间有什么关联。
我也尝试在不使用 MSBuild 的情况下编译此示例,但直接使用 Wix SDK 工具 - 仍然没有运气 - 编译完成时没有错误,但生成的 msi 无论如何都已损坏:
candle *.wxs
light *.wixobj -out setup.msi -ext WixBalExtension
关于编译 Wix 捆绑包,我是否遗漏了一些东西以阻止它正常工作?