[英]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.