我的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进行搜索时,我根本找不到它。另一方面,我将外部项目的项目文件视为安装程序项目中的快捷方式,如下面的屏幕截图所示:
如果我从安装程序项目中删除此项目快捷方式文件并尝试构建,则会出现错误:error LGHT0094: Unresolved reference to symbol 'WixC
omponentGroup:PA5GSite.Content' in section 'Product:*'
引用肯定是正确且相关的,但我不明白这是如何完成的。如果我尝试将Wix项目中的引用添加到该外部项目,它会在引用文件夹中添加引用但不像以前那样添加快捷方式文件,并且它不会再次修复错误。我的问题是,这里发生了什么以及它是如何工作的?我怎么能自己做这样的事情,因为我必须用新的项目文件替换当前的项目文件。但我没有在Wix中找到任何选项来做到这一点。我应该在哪里看看?
答案 0 :(得分:0)
我想我解开了这个谜。我在Wix Installer项目文件中找到了线索。我卸载了wix项目,然后手动编辑它。在那里,我找到了一个引用csproj文件的Harvest块,我将其替换为新的项目文件,当我重新加载Wix项目时,它们都以相同的方式工作。我从Wix Cookbook找到了提到这一点的线索。