记录一个简单的dll自动注册工具制作:主要用到的是DllRegisterServer()方法,其实我们平常注册dll文件内部都会调用这个方法。
这里我就直接写在主程序里面了,需要注意的地方也直接在代码中标明。
/// <summary> /// 应用程序的主入口点。 /// </summary> const string strdll ="DCIModelApp.dll"; [DllImport(strdll)] //这里的参数只能是常量,将该工具与要注册的dll文件放在同一目录就不必要写dll文件的完整目录了 public static extern int DllRegisterServer(); //反注册使用DllUnregisterServer(); [STAThread] static void Main() { try { int i = DllRegisterServer(); if (i >= 0) MessageBox.Show("注册成功"); else { MessageBox.Show("注册失败"); //注:如果你手动能注册,但用该工具总是注册失败,请使用管理员身份运行 } } catch (Exception e) { MessageBox.Show("注册失败,缺少文件"); } }
选择Release版本生成,这个小工具就完成了,工具虽小却能解决不少麻烦。
===========================新旧分割线=========================
记录一个非常简单也很常用的方法:
在txt空白文本中加入这句代码:regsvr32 %~dp0****.dll //***为需要注册的dll名字
将这个txt文件重命名为“uninstall.bat” ,名字无所谓,关键是后缀
以管理员身份运行这个bat文件就能完成dll注册了 还会有提示框
反注册的代码是:regsvr32 /u %~dp0DCIScene.dll 用同样的方法实现