为什么WiX burn.exe失败,错误0x8007000d?

时间:2014-01-24 09:15:04

标签: wix burn

我有一个由WiX生成的.msi文件,它工作得很好,现在我想将它包装在一个引导程序中。以前我使用的是setupbld,但由于现在已经弃用了,我第一次尝试使用WiX 3.8进行刻录。

但是,每次从命令行运行刻录时都不会发生任何事情,无论参数如何。如果我运行没有参数的burn.exe,我连接了一个调试器并获得了以下输出:

The program '[0x1380] burn.exe: Native' has exited with code -2147024883 (0x8007000d).

有人知道这里有什么问题吗?

注意,我实际上是在运行“C:\ Program Files(x86)\ WiX Toolset v3.8 \ bin \ x86 \ burn.exe”。我注意到burn.exe有一个类似于msi包的图标(尽管是exe),所以我不确定这是否是刻录的安装程序,或者它是否自行刻录。

Tbh,我发现虽然有大量关于编写刻录所需的XML文件的文档,但实际调用它似乎很少,以及当它有什么期望时。

1 个答案:

答案 0 :(得分:2)

Burn是引导程序引擎,而不是构建器。错误是ERROR_INVALID_DATA,这是有道理的,因为burn.exe确实附加了任何数据;构建器复制并修改它以包含和/或指向引导程序数据的容器。

要构建引导程序,请创建一个带有bundle元素的WiX文档,然后在其上运行candle.exelight.exe

许多人使用构建系统来运行他们的工具和IDE来管理他们的项目。 WiX与MSBuild和Visual Studio(非免费版)集成。还提供了一个用于Visual Studio的WiX Bootstrapper项目模板。 SharpDevelop IDE有自己的WiX模板(但目前不适用于Bootstrapper。)

注意:所有WiX项目都是MSBuild项目,因此您可以手动编写项目和/或使用MSBuild而不是IDE构建它们。