Dot-Net
使用 WiX 將程序集放入 GAC 和安裝路徑
我剛剛開始學習如何使用 WiX,但遇到了障礙。我的包使用第三方庫,該庫要求 GAC 和包安裝目錄中都存在一些文件。
使用 WiX,我可以使文件顯示在安裝目錄或 GAC 中,但不能同時顯示。
有沒有辦法解決這個問題?
這裡有一篇關於將程序集安裝到 GAC 和本地文件系統的文章。這有一些實際的 WiX 程式碼,可以滿足您的需求。
我找到了這篇文章——它已經移動了,新的 URL 在這裡:https ://devblogs.microsoft.com/setup/installing-assemblies-for-runtime-and-design-time-use/
本質上,您創建了 2 個組件,一個 GAC 到一個基本上被忽略的新文件夾,因為它將轉到 GAC,另一個組件到您要復製到的位置 - 只是沒有
Assembly=".net"屬性。下面的範例來自程式碼,我已經使用這種技術在我的項目中工作。
<Directory Id="ProgramFilesFolder"> <Directory Id="ProductDirectory" Name="$(var.ProductName)"> <Directory Id="GAC" Name="GAC"> <Component Id="RT_MyControl" Guid="22887611-B13E-41EE-897C-D78830E68AEB" DiskId="1"> <File Id="F_RT_MyControl" Name="MyCtrl.dll" LongName="MyControl.dll" Source="$(var.SrcPath)MyControl.dll" KeyPath="yes" Assembly=".net"/> </Component> </Directory> <Component Id="DT_MyControl" Guid="FB935B7D-D2BD-4B83-A26C-A9376EBA0915" DiskId="1"> <File Id="F_DT_MyControl" Name="MyCtrl.dll" LongName="MyControl.dll" Source="$(var.SrcPath)MyControl.dll" KeyPath="yes"/> </Component> </Directory> </Directory>