我有一个 .NET winform应用程序,需要在安装期间注册本机dll。我的问题是如何在MSI安装过程中注册一个DLL( regsvr32 ABC.dll )?类似地,如何在卸载过程中取消注册dll?
答案 0 :(得分:12)
答案 1 :(得分:4)
vsdrfCOMSelfReg不是最佳做法。请尝试使用vsdrfCOM。这将“提取”(或尝试,vdproj有时是POS)来自DLL的COM元数据并将其创建到正确的COM表中。这比希望在安装时对DllRegisterServer的进程外调用更好。
既然MSI本身知道您的COM资源,它将为您处理安装和卸载。
答案 2 :(得分:1)
在Windows Installer的Tao中向下滚动到规则19,看看MSI团队说了些什么:
http://blogs.msdn.com/b/windows_installer_team/archive/2006/05/12/595950.aspx
答案 3 :(得分:0)
选择要注册的文件,然后在“属性”窗口中将“注册”字段设置为vsdrfCOMSelfReg。这将在SelfReg表中创建一个条目,该表将自动注册/取消注册您的DLL。
http://msdn.microsoft.com/en-us/library/aa371608(VS.85).aspx