Здравствуйте, 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
Запреты в программировании — дело условное. Если ты понимаешь, к чему он может привести, то можешь его нарушать, но на твоей ответственности нормальная работа системы. Если ты не понимаешь, к чему приведет нарушение данного запрета, то он не до конца понимает данный механизм операционной системы