簡體   English   中英

如何在Wix托管的CustomAction程序集中包含GAC的dll?

[英]How to include a GAC'd dll in a Wix managed CustomAction assembly?

我有一個基於Wix的安裝程序,具有托管(C#)CustomAction程序集。 本問題所述 ,我使用Wix Visual Studio擴展來構建MSI中包含的xx.CA.dll程序集。

但是,如自定義操作項目模板中所述

“構建自定義操作項目將在目標目錄中生成一個名為$(TargetName).CA.dll的附加DLL。這是要流式傳輸到MSI Binary表中的DLL。

定制操作構建過程將自動打包您的CA依賴的任何非GAC的程序集。

就我而言,我引用的是Microsoft DLL,它位於我的開發和構建計算機上的GAC中(因為這些計算機上的構建過程需要它),但是可能不會在其上運行此MSI的目標計算機在GAC中具有該DLL,從而導致運行時異常:

System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft...' or one of its dependencies.

那么... 在構建托管的CustomAction程序集的.CA.dll版本時,如何強制Wix包括GAC程序集?


進行了編輯以刪除任何特定的dll名稱,因為人們專注於我提到的dll,而不是任何 GAC dll的更大問題。

在檢查包含自定義操作的項目中的引用之前,我一直遇到這個問題。 它像您一樣引用“ Microsoft.Web.Administration”,但是CopyLocal設置為false。 將其設置為true會將DLL拉入內置的MSI中,一切都很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM