WiX 3.8和Quickbooks SDK合并模块的问题



是否有人在集成API download.msi文件和WiX提供的合并模块时遇到任何问题?或者任何其他MSI/Installer工具?

当我添加各种功能时,它将接受Xerces 2.5.0.msm,但包括任何其他类型的合并模块都将失败,并出现以下错误

30>light.exe(0,0): error LGHT0204: ICE27: 'SelfUnregModules' Action in InstallExecuteSequence table in wrong place. Current: Selection, Correct: Execution
30>light.exe(0,0): error LGHT0204: ICE27: Action: 'SelfUnregModules' in InstallExecuteSequence table must come after the 'InstallValidate' action.
30>light.exe(0,0): error LGHT0204: ICE27: Action: 'SelfUnregModules' in InstallExecuteSequence table must come after the 'InstallInitialize' action.
30>light.exe(0,0): error LGHT0204: ICE27: Action: 'InstallFiles' in InstallExecuteSequence table must come before the 'SelfRegModules' action. Current seq#: 4000. Dependent seq#: 2850.

目录结构如下:

<Directory Id="INSTALLDIR" Name="Datacenter">
            <Merge SourceFile="$(var.QuickbooksMergeModules)Xerces2.5.0.msm" Language="$(var.LCID)" DiskId="1" Id="Xerces2.5.0.msm"></Merge>
            <Merge SourceFile="$(var.QuickbooksMergeModules)QBFC13_0.msm" Language="$(var.LCID)" DiskId="1" Id="QBFC13_0.msm"></Merge>

不管怎样,都不能让它发挥作用。我在网上找到了一些关于包括VC++7.0运行时的信息(我想我以后可以使用吗?),但还没有尝试过。

想法?

我会仔细阅读MSI最佳实践#43和我在《合并模块辩护》中的一些反驳论点。

通常最好不要再使用第三方合并模块。通过引导程序/链接器引入的独立MSI更好。如果需要,使用合并模块构建一个独立的MSI,并将其放入您的链接器中。重点是,不要用合并模块可能引入的问题污染MSI。

事实上,他们有名为SelfReg的自定义操作,这真的让我怀疑这些模块的质量。自我注册(任何形式的)通常是一件非常糟糕的事情。

相关内容

  • 没有找到相关文章

最新更新