Member 13699469 Ответов: 0

Как зарегистрировать и использовать ActiveX-.Нетто-контроль без прав администратора и использовать ocx, и как в течение 3-сторонних приложений?


Мы используем стороннее приложение "Diadem" от "National Instruments", которое предоставляет свой собственный диалоговый движок. В этих "диалогах" мы можем использовать визуальные элементы управления ActiveX, которые мы просматриваем в Редакторе диалогов.

Чтобы добавить к списку используемых элементов управления, мы обернули существующий .Net-элемент управления в оболочку COM, чтобы имитировать ActiveX.
Это прекрасно работает до тех пор, пока мы регистрируем новый элемент управления с правами администратора.

Но чтобы распространять его вместе с нашими проектами, мы должны зарегистрировать его без прав администратора.
И здесь начинается "веселье": использование RegAsm с /regfile создает .reg-файл, который я исправил так, что он использует HKCU вместо HKLM. С помощью этого файла можно было зарегистрировать новый элемент управления.
Использование createobject для одного из зарегистрированных классов вернуло объект, который не является нулевым. Без дальнейших тестов я бы сказал, что он зарегистрирован вполне нормально.

Но редактор диалогов этого не видит. Вероятно, он только смотрит в дерево HKLM.

Есть ли какие-нибудь идеи о том, как я регистрирую .Net-ActiveX-Dll без прав администратора и все еще позволяю своей сторонней программе просматривать его, как и любой другой ActiveX-Ocx?

Заранее спасибо,

Рюдигер

Что я уже пробовал:

Я попробовал эту идею с самого начала. vba - Регистрация библиотек DLL .Net COM без прав администратора / regasm - переполнение стека[^]

0 Ответов