Зарегистрируйте C#/VB.NET COM dll программно

Вопрос: у Меня есть.NET dll, который я использую из программы C++. Теперь я должен зарегистрировать dll программно на компьютере развертывания.

Как делают я делаю это (программно! не используя regasm)? Я помню, когда я когда-то назвал VB6 dll от C++ dll, я должен был использовать DllRegisterServer и DllUnregisterServer.

Это все еще так с.NET dll?
Кажется, что я должен так или иначе добавить функцию dllregisterserver к.NET dll.

17
задан Cœur 15 April 2017 в 19:14
поделиться

2 ответа

Угу, DLL-файлы .NET не имеют DllRegisterServer, поэтому вам нужно написать установщик .NET, выполняя это где-нибудь:

Assembly asm = Assembly.LoadFile (@"c:\temp\ImageConverter.dll");
RegistrationServices regAsm = new RegistrationServices();
bool bResult = regAsm.RegisterAssembly(asm, AssemblyRegistrationFlags.SetCodeBase);
27
ответ дан 30 November 2019 в 12:50
поделиться

Можете ли вы использовать монитор процесса чтобы увидеть, какие системные изменения (в основном, изменения в реестре, я думаю) вносятся, когда вы используете regasm.exe для регистрации своей dll, а затем вносите эти изменения программно?

1
ответ дан 30 November 2019 в 12:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: