2008-09-19 37 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的信息。

相关问题