Re[2]: Регистрация COM-объекта из своей программы
От: Melamed Россия  
Дата: 20.07.23 10:13
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>Здравствуйте, Melamed, Вы писали:


M>>При регистрации СОМ объекта в своей программе вызов функции CODllRegisterServer из своей задачи выдает ошибку 0x80070005 "Отказано в доступе" Системная утилита Regsvr32 регистрирует COM-объекты только когда запущена под администратором системы. Думаю, для регистрации новых COM-объектов не хватает каких-то привилегий


bnk>Очевидно админских прав не хватает, в реестр писать оно не может (HKLM)

bnk>Да, можно регистрировать только для пользователя, тогда админские права не нужны.

bnk>regsvr32 /i:user name.dll


bnk>Но вообще это нехорошо (самостоятельно регистрировать DLL).

А как же программы с частично открытой архитектурой. Когда программе можно писать расширения. Например, модули расширения Microsoft Office представляют собой COM-объект и я не помню, что я его регистрировал с помощью RegSvr32, а просто регистрировал в программе
bnk>По-нормальному это должна быть работа инсталлятора.
Предлагаешь, написать все 50-60 COM-объектов, сразу, когда пользователь может уже работать с 5 СOM-объектами.
bnk>Да, а что такое "CODllRegisterServer"? Гугл дает 0 результатов поиска
Извините описался. Конечно DllRegisterServer

Запреты в программировании — дело условное. Если ты понимаешь, к чему он может привести, то можешь его нарушать, но на твоей ответственности нормальная работа системы. Если ты не понимаешь, к чему приведет нарушение данного запрета, то он не до конца понимает данный механизм операционной системы
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.