问题:我有一个.NET dll,我在C ++程序中使用它。 现在我必须在部署计算机上以编程方式注册dll。
我该怎么做(以编程方式!不使用regasm)? 我记得,当我曾经用C ++ dll调用VB6 dll时,我不得不使用DllRegisterServer和DllUnregisterServer。
.NET dll仍然如此吗? 看来我必须以某种方式将dllregisterserver函数添加到.NET dll。
答案 0 :(得分:27)
YUK,.NET dll没有DllRegisterServer,所以你必须编写.NET安装程序,在某处执行:
Assembly asm = Assembly.LoadFile (@"c:\temp\ImageConverter.dll");
RegistrationServices regAsm = new RegistrationServices();
bool bResult = regAsm.RegisterAssembly(asm, AssemblyRegistrationFlags.SetCodeBase);
答案 1 :(得分:1)
您可以使用process monitor查看当您使用regasm.exe
注册您的dll,然后以编程方式进行这些更改时,会发生哪些系统更改(我认为基本上是注册表更改)?