Как зарегистрировать сборку .net из приложения c ++

У меня есть .net сборка, в которой есть com классы. Я хочу зарегистрировать эту сборку, чтобы мое c++ приложение могло вызывать методы, представленные в .net сборке.

Я могу зарегистрировать сборку с помощью инструмента regasm. Но я не хочу запускать regasm инструмент на моем клиентском компьютере.

Таким образом, здесь требуется зарегистрировать сборку .net во время выполнения из приложения C ++. Также я не хочу, чтобы установщик регистрировал сборку.

Возможно ли это в C ++. Я сталкиваюсь с управляющим кодом, который делает то же самое. Я также попробовал RegisterTypeLib api для регистрации сборки, но это не сработало.


person pritesh dahivelkar    schedule 26.03.2018    source источник
comment
Насколько мне известно, единственный способ зарегистрировать COM-Assembly - это использовать regasm. Должно быть возможно написать код, который regasm использует в вашем приложении. К сожалению, я не могу помочь с этим (слишком много работы, которой можно просто избежать, используя существующее решение). Но когда вы хотите зарегистрировать сборку, вам нужны права администратора. Хотя есть (возможно) другое решение. Я видел, что есть плагин Total Commander, который может использовать сборки .NET. К сожалению, я не знаю, как это работает. Я не изучал это.   -  person Julo    schedule 26.03.2018
comment
это вещь COM-взаимодействия без регистрации? docs.microsoft.com/en-us/ dotnet / framework / interop / msdn.microsoft.com/en- us / library / ms973913.aspx   -  person Marc Gravell    schedule 26.03.2018
comment
Нет, это не бесплатное COM-взаимодействие без регистрации   -  person pritesh dahivelkar    schedule 26.03.2018
comment
В регазме нет волшебства. Вот пример кода, который это делает: stackoverflow.com/questions/35782404/ он на C #, но легко переносится на C ++   -  person Simon Mourier    schedule 26.03.2018
comment
Вот пример кода, который регистрирует сборку, но находится на С #. stackoverflow.com/questions/2378730 / Искал похожий код. Интересно, есть ли win32 api для регистрации сборки. Я также пробовал Win32 api RegisterTypeLib, но он не работает.   -  person pritesh dahivelkar    schedule 26.03.2018