2008-09-19 8 views
1

У меня есть сборка .NET, которая содержит классы для регистрации как ServicedComponent через EnterpriseServices (COM +) и вызывается через COM RPC сторонним приложением. Поэтому мне нужно как добавить его в GAC, так и добавить запись реестра под номером HKEY_CLASSES_ROOT\CLSID\{clsid}\CodeBase с указанием пути к сборке DLL в папке GAC. (Я не могу полагаться на regsvcs, чтобы это сделать, потому что это 32-разрядная сборка --- она ​​опирается на 32-разрядные сторонние компоненты --- и стороннее приложение, о котором я упоминал ранее, не может видеть классы в Wow6432Node)Как ссылаться на путь к сборке в GAC в записи реестра, добавленный пакетом установщика Windows?

так что вопрос:

ли пути к сборкам, которые будут создано в GAC или, по крайней мере, путь к самой папке GAC, доступной в Windows Installer, как свойства, которые могут быть использованы в значениях ключи реестра и т. д.?

ответ

2

Если у вас есть компонент на файл, который вам все равно нужно, KeyPath компонента указывает на место, где файл будет установлен (в этом случае GAC). Вы можете использовать ключ компонента как токен в поле значений записи в таблице реестра в MSI.

Предполагая, что у вас есть сборка с файловым ключом в таблице файлов «assmb.dll» и ее соответствующим компонентом, также «assmb.dll». Вы можете установить поле значения в таблице реестра, чтобы зарегистрировать свою сборку в [$ assmb.dll], и она будет решена в месте установки сборки. Если этот каталог является GAC, он будет разрешен к местоположению GAC.

Дополнительную информацию о форматированных полях в MSI here.

 Смежные вопросы

  • Нет связанных вопросов^_^