Это возможный подход для регистрации типов .NET для COM - PullRequest
3 голосов
/ 06 марта 2012

У меня есть сборка .NET, и я использую regasm.exe для регистрации на COM.Tlb используется пользователями для написания кода на VBA в Excel.

Я выполнил regasm / regfile и вижу, что все записи реестра попадают в 'HKEY_CLASSES_ROOT \'.У меня есть ограничение администратора (к сожалению) для запуска regasm на всех компьютерах пользователя, поскольку для записи ключей реестра в * HKEY_CLASSES_ROOT * требуется доступ администратора.

Мой вопрос: , если я изменю это на запись на 'HKEY_LOCAL_MACHINE' или 'HKEY_CURRENT_USER', COM-взаимодействие все еще будет работать, и Excel сможет найти мои типы?

Таким образом, я думаю, что могу договориться о гораздо меньших преимуществах для моих пользователей, чтобы они могли запустить этот новый reg-файл вместо запуска regasm.

Спасибо, Мани

1 Ответ

0 голосов
/ 06 марта 2012

К сожалению, это не так просто, потому что это зависит от настроек пользователя, возьмите лут в: http://blogs.msdn.com/b/cjacks/archive/2008/06/06/per-user-com-registrations-and-elevated-processes-with-uac-on-windows-vista-sp1.aspx

...