2008-09-19 38 views
1

我有一個.NET程序集,它包含要通過EnterpriseServices(COM +)註冊爲ServicedComponent並通過第三方應用程序通過COM RPC調用的類。因此,我需要將它添加到GAC,並在GAC文件夾中添加一個註冊表項,並在HKEY_CLASSES_ROOT\CLSID\{clsid}\CodeBase中添加一個註冊表項,其路徑指向程序集DLL。 (我不能依靠regsvcs來做到這一點,因爲這是一個32位的程序集---它依賴於32位的第三方組件---而我之前提到的第三方應用程序無法看到類Wow6432Node)如何在Windows Installer程序包添加的註冊表項中引用GAC中程序集的路徑?

所以,問題是:

是在GAC中創建路徑組件,或至少路徑GAC文件夾本身,可以在Windows安裝程序的屬性,可以在值中使用註冊表項等?

回答

2

如果每個文件都有一個組件,無論如何,組件的KeyPath指向安裝文件的位置(在本例中爲GAC)。您可以將組件密鑰用作MSI中註冊表表項中值項的值。

假設您在「assmb.dll」文件表及其相應的組件中具有一個帶有File鍵的程序集,並且還有「assmb.dll」。您可以在註冊表中設置值字段以將您的程序集註冊到[$ assmb.dll],並將其解析爲程序集的安裝位置。如果此目錄是GAC,它將被解析爲GAC的位置。

你可以在MSI here找到更多關於Formatted fields的信息。

相關問題