Как я могу создать COM-объект для регистрации в качестве ограниченного пользователя? - PullRequest
0 голосов
/ 31 января 2011

Я создаю проект в vs2010, он предназначен для установки на пользователя, но мне нужно включить COM-объект (в DLL я использую ATL).Дело в том, что я могу только зарегистрировать DLL с правами администратора, но мой установщик не требует прав администратора, и регистрация com не удалась.

Это то, что я нашел: http://blogs.msdn.com/b/jaredpar/archive/2005/05/29/423000.aspx

Я сделал эти изменения, изменил файлы .rgs с HKCR на HKCU и изменил код DllRegisterServer для переопределения HKCR с помощью HKCU \ Software \ Classes

Но я получаю ту же ошибку: 0x8002801c с использованием regsvr32 (как ограниченопользователь), и установщик также выдает мне ошибку.Нужно ли что-то еще для создания COM-объектов для каждого пользователя?

Thans.

Ответы [ 2 ]

0 голосов
/ 14 декабря 2017

В Visual Studio 2017 вы можете включить Перенаправление на пользователя в свойствах проекта> Linker> General.

Мне не нужно было изменять, измените файл rgs.

Чтобы зарегистрировать COM .exe, используйте флаг / RegServerPerUser.У меня не работает флаг normal / RegServer ( ссылка ).

Чтобы зарегистрировать COM .dll, используйте regsvr32 /n /i:user "xxxx.dll" ( ссылка ).

0 голосов
/ 24 февраля 2011

Создать файл манифеста, который ссылается на DLL. Проверьте этот инструмент для безболезненной генерации манифеста

...