我编写了一个相当复杂的 Wix V3 项目,包含 4000 多个文件。我想将 .wxs 文件拆分为几个链接在一起的较小的 .wxs 文件以形成一个项目,但我看不到如何实际获取主文件(产品定义所在的位置)以与中的其他组件连接其他文件。
例如,我的主产品文件是这样开始的:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">
<Product Id="112eb09c-6346-4965-b98b-498571db45ac" Name="xxx xxx xxx" Language="1033" Version="$(var.ProductVersion)" Manufacturer="EMS" UpgradeCode="8fdd856c-028d-4a66-b51a- 10c83947a62d">
...
</Product>
下一个 .wxs 文件如下
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?define EMS Config Tool_TargetDir=$(var.EMS Config Tool.TargetDir)?>
<Fragment>
<Feature Id="ProductFeature" Title="xxx xxx xxx Setup" Level="1">
<ComponentGroupRef Id="ProductComponents" />
<ComponentGroupRef Id="INSTALLDIR_files" />
<ComponentGroupRef Id="app.publish_files" />
等等
如何告诉产品文件构建在功能“ProductFeature”中?
一切都符合要求,如果我将“错误”放入第二个文件中,编译器会拾取它们并标记它们,但运行创建的 .msi 文件,不会调用任何“ComponentGroupRefs”,也不会安装任何文件.
是否所有内容都需要放在一个文件中,或者我是否遗漏了一些明显的东西?
仅当引用片段中的某些内容时,才会包含
<Fragment>
的内容。这是 WiX 工具集的一个非常强大的功能。
要获得所需的内容,请在
<FeatureRef Id='ProductFeature' />
元素下添加 <Product/>
。