Wix工具集 - ComponentGroupRef与外部项目文件一起使用?

时间:2017-06-01 04:36:58

标签: wix

我的Product.wxs文件中包含以下内容。

<Feature Id="PA5gFeature" ConfigurableDirectory="INSTALLLOCATION" Title="$(var.ApplicationName)" Level="1">
  <ComponentGroupRef Id="PA5GSite.Content" />
  <ComponentGroupRef Id="SiteBinaries" />
  <ComponentGroupRef Id="ShortcutGroup" />
  <ComponentGroupRef Id="ConfigApp" />
  <ComponentGroupRef Id="PA5GApp" />
  <ComponentGroupRef Id="ConfigSupportDlls" />
  <ComponentGroupRef Id="ConfigReports" />

  <ComponentRef Id="PersistWebSiteValues" />
  <!--<ComponentRef Id="ChangeLogFolder" />-->
  <ComponentRef Id="ConfigReportFolder" />
  <ComponentRef Id="PA5GRunFolder" />
</Feature>

当我在整个项目中使用PA5GSite.Content进行搜索时,我根本找不到它。另一方面,我将外部项目的项目文件视为安装程序项目中的快捷方式,如下面的屏幕截图所示:

Screenshot

如果我从安装程序项目中删除此项目快捷方式文件并尝试构建,则会出现错误:error LGHT0094: Unresolved reference to symbol 'WixC omponentGroup:PA5GSite.Content' in section 'Product:*'

引用肯定是正确且相关的,但我不明白这是如何完成的。如果我尝试将Wix项目中的引用添加到该外部项目,它会在引用文件夹中添加引用但不像以前那样添加快捷方式文件,并且它不会再次修复错误。我的问题是,这里发生了什么以及它是如何工作的?我怎么能自己做这样的事情,因为我必须用新的项目文件替换当前的项目文件。但我没有在Wix中找到任何选项来做到这一点。我应该在哪里看看?

1 个答案:

答案 0 :(得分:0)

我想我解开了这个谜。我在Wix Installer项目文件中找到了线索。我卸载了wix项目,然后手动编辑它。在那里,我找到了一个引用csproj文件的Harvest块,我将其替换为新的项目文件,当我重新加载Wix项目时,它们都以相同的方式工作。我从Wix Cookbook找到了提到这一点的线索。