在 Wix V3 项目中使用两个或多个 .wxs 文件

问题描述 投票:0回答:1

我编写了一个相当复杂的 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”,也不会安装任何文件.

是否所有内容都需要放在一个文件中,或者我是否遗漏了一些明显的东西?

wix3
1个回答
0
投票

仅当引用片段中的某些内容时,才会包含

<Fragment>
的内容。这是 WiX 工具集的一个非常强大的功能。

要获得所需的内容,请在

<FeatureRef Id='ProductFeature' />
元素下添加
<Product/>

© www.soinside.com 2019 - 2024. All rights reserved.