6

我正在使用 heat.exe 生成与此类似的片段:

<Fragment>
  <DirectoryRef Id="INSTALLDIR">
    <Component Id="id1" Guid="*">
      <File Id="fid1" KeyPath="yes" Source="SourceDir\Foo1.dll" />
    </Component>
    <Component Id="id2" Guid="*">
      <File Id="fid2" KeyPath="yes" Source="SourceDir\Foo2.dll" />
    </Component>
    <Component Id="id3" Guid="*">
      <File Id="fid3" KeyPath="yes" Source="SourceDir\Bar.exe" />
    </Component>
  </DirectoryRef>
</Fragment>

<Fragment>
    <ComponentGroup Id="Components">
        <ComponentRef Id="id1" />
        <ComponentRef Id="id2" />
        <ComponentRef Id="id3" />
    </ComponentGroup>
</Fragment>

这些片段存储在自动生成的 wxs 文件中。

然后我将它们添加到我的功能中(在主 WiX 文件中),如下所示:

<ComponentGroupRef Id="Components"/>

这工作正常。

但是,我还想将 Bar.exe 的快捷方式添加到我的开始菜单中。理想情况下,我希望在我的主 wix 文件中执行此操作,而 Bar.exe 组件仍驻留在自动生成的 wxs 文件中。如果不修改自动生成的代码,我将如何解决这个问题?

4

1 回答 1

2

您是否一定希望它驻留在定义中?您可以将它放在单独的组件中,如手册中所示:http ://wix.sourceforge.net/manual-wix3/create_start_menu_shortcut.htm

否则,您可能应该通过在此处添加定义来使用 XSL 转换来转换热量输出。Heat.exe 接受开关以在收获后立即应用 XSL 转换。

希望这可以帮助。

于 2010-03-24T10:22:53.407 回答