如何在另一个合并模块中使用合并模块

时间:2015-05-15 08:33:09

标签: merge wix

我正在创建一个Wix安装程序项目(MyProduct.msi),它应该使用一个WiX合并模块(MergeDesktop.msm),该实体消耗另一个WiX合并模块(MergeCore.msm)。

我能够生成可以使用MergeCore.msm的MyProduct.msi,并且能够从MergeCore.msm定义中复制内容。

虽然我能够生成MyProduct.msi,它消耗MergeDesktop.msm,实习生使用MergeCore.msm文件,但它什么也没有复制。

我在MergeDesktop.msm中使用了Dependency元素来包含MergeCore.msm模块。

    <?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Module Id="MergeDesktop" Language="1033" Version="1.0.0.0">
        <Package Id="22c37444-cc56-453c-8906-73413240ae40" Manufacturer="Microsoft" InstallerVersion="200" />
    <Dependency RequiredId="MergeCore" RequiredLanguage="1033"/>
        <Directory Id="TARGETDIR" Name="SourceDir">
            <Directory Id="MergeRedirectFolder">
            </Directory>
        </Directory>
    </Module>
  <Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="INSTALLFOLDER" Name="MergeCore" />
        <Merge Id="MergeCore" Language="1033" SourceFile="MergeCore.msm" DiskId="1" />
      </Directory>
    </Directory>
  </Fragment>
</Wix>

您能否建议一下处理这种情况的最佳方法。如果需要进一步的信息,请告诉我。

此致 库马尔

1 个答案:

答案 0 :(得分:0)

无法在另一个合并模块中使用合并模块。

正确的方法是在构建msi时合并两个模块。 如果您有一个模块与另一个模块的依赖关系,请使用&lt;依赖性&gt;

https://www.firegiant.com/wix/tutorial/upgrades-and-modularization/mergers/