2017-06-01 26 views
0

我是Wix的新手,我有一箇舊的Wix項目可以工作。我已經閱讀了文檔,但我面臨着一個奇怪的概念差距,可能是由於我對此缺乏瞭解。我在我的Product.wxs文件中有以下內容。Wix Toolset - ComponentGroupRef與外部項目文件一起使用?

<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中找不到任何選項來做到這一點。我應該在哪裏看?

在此先感謝。

+0

很可能.csproj文件已被編輯爲包含其他wix指令,或者'WebConfigTransform.xslt'做了一些特殊的事情。你可以看看這些文件併發布任何相關的代碼片段嗎? –

+0

我想我解決了這個謎團。我發現了Wix Installer項目文件本身的線索。我在這篇文章中添加了解決方案。 –

回答

0

我想我解決了這個謎團。我發現了Wix Installer項目文件本身的線索。我卸載了wix項目,然後手動編輯它。在那裏,我發現了一個引用csproj文件的Harvest塊,我用新的項目文件替換了它,並且在重新加載Wix項目時它都以相同的方式工作。我從Wix Cookbook那裏找到了關於此的線索。

相關問題