Re: InstallShield 8.0 Developer, COM and Registry problem
От: WPooh США  
Дата: 02.08.05 17:49
Оценка:
Здравствуйте, Andrey_Ponyakov, Вы писали:

A_P>Здравствуйте.


A_P>Я регистистрирую COM обьект используя свойство компонента COM Extract at Build. После установки продукта я не могу использовать Regsvr32 для регистрации COM обьекта. Пишет DllRegisterServer in BlaBla.dll failed. Return code was 0x80070005. Как показали мои исследования это из-за того, что инсталяция создает при регистрации ветки в реестре с permissions ReadOnly для администратора.

A_P> Использовать SelfRegister я не могу, так как dll защищена Armadillo-й.
A_P> Можно в InstallShield назначать дефолтовые permissions для регистрации COM или может есть другие пути решения проблемы?

Если я правильно помню, IS Developer — это под Windows Installer. Если так, посмотрите в таблицу LockPermissions. Там обычно права на реестр, файлы и папки. Подкорректируйте поле Permissions, как вам надо. Есть статья в MSDN-е на эту тему, ключевые слова для поиска "LockPermissions Table", там расписано как это работает. Например, если не хотите ограничивать права доступа на объект, то не должно быть записей в этой таблице, соответствующих этому объекту. Но если этот объект уже существует до установки, то права сохраняются такими, какими они были до этого. Можно, например, удалить ключ реестра при установке вашего продукта, но перед добавлением новых ключей (см. "RemoveRegistry Table").

Успехов!
К этому моменту у меня внутри 0.5, 0.7, 0.33 (с) НС
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.