Как зарегистрировать и использовать 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 - переполнение стека[^]