Подтвердить что ты не робот

Регистрация программной библиотеки С#/VB.NET COM программно

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

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

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

4b9b3361

Ответ 1

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

Assembly asm = Assembly.LoadFile (@"c:\temp\ImageConverter.dll");
RegistrationServices regAsm = new RegistrationServices();
bool bResult = regAsm.RegisterAssembly(asm, AssemblyRegistrationFlags.SetCodeBase);

Ответ 2

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