转自:https://www.cnblogs.com/xiesong/p/7243397.html

有时会遇到dll在系统中不存在,需要程序自己去注册所需的dll文件。

注册dll 需要用到regsvr32命令,其用法为:
"regsvr32 [/s] [/n] [/u] [/i[:cmdline]] dllname”。其中dllname为dll文件名
参数有如下意义:
/u——反注册控件
/s——不管注册成功与否,均不显示提示框
/c——控制台输出
/i——跳过控件的选项进行安装(与注册不同)
/n——不注册控件,此选项必须与/i选项一起使用

分享代码如下:

private bool RegisterDll()
{bool result = true;try{string dllPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "XXX.dll");//获得要注册的dll的物理路径if (!File.Exists(dllPath)){Loger.Write(string.Format("“{0}”目录下无“XXX.dll”文件!", AppDomain.CurrentDomain.BaseDirectory));return false;}//拼接命令参数string startArgs = string.Format("/s \"{0}\"", dllPath);Process p = new Process();//创建一个新进程,以执行注册动作p.StartInfo.FileName = "regsvr32";p.StartInfo.Arguments = startArgs;//以管理员权限注册dll文件WindowsIdentity winIdentity = WindowsIdentity.GetCurrent(); //引用命名空间 System.Security.PrincipalWindowsPrincipal winPrincipal = new WindowsPrincipal(winIdentity);if (!winPrincipal.IsInRole(WindowsBuiltInRole.Administrator)){p.StartInfo.Verb = "runas";//管理员权限运行}p.Start();p.WaitForExit();p.Close();p.Dispose();}catch (Exception ex){result = false;          //记录日志,抛出异常}return result;
}

C# 代码注册Dll文件相关推荐

  1. .NET打包工具怎么注册 .dll文件??

    .NET打包工具怎么注册 .dll文件?? 寻求高手解决 转载于:https://www.cnblogs.com/zhaohui0312/archive/2007/06/06/773640.html

  2. regsvr32.exe进程注册dll文件

    regsvr32.exe用于注册Windows操作系统的动态链接库(dll)和ActiveX控件.这个程序对你系统的正常运行是非常重要的.   dll文件即动态链接库,是一个不可执行的二进制程序文件, ...

  3. sharepoint 使用命令行注册dll文件到gac的方法

    使用命令行注册dll文件到gac的方法: gacutil.exe -i D:\SPFormLoginProject.dll 删除gac的dll方法: gacutil /u "SPFormLo ...

  4. 注册dll文件的方法集合

    手工注册dll文件的命令   regsvr32 c:/winnt/system32/msjetoledb40.dll DLL files Register and Unregister 有的程序员经常 ...

  5. 关于手动注册dll文件遇到的一个小问题

    手动注册dll文件遇到的一个小问题里 由于安装一些系统的需要,要手动注册dll文件. 我采取的方式是以管理员身份进入命令控制台,执行 regsvr32 dll文件路径 可是一直提示我找不到dll文件( ...

  6. 如何反注册DLL文件

    如何反注册DLL文件     在windows的system文件夹下有一个regsvr32.exe的程序,它就是windows自带的activex注册和反注册工具.它的用法为: "regsv ...

  7. windows如何注册DLL文件

    如何注册DLL文件 将您下载的 "*. DLL" 文件复制到 "C:\Windows\system32\" 系统目录下然后按 "Win键+R" ...

  8. 教你如何注册dll文件

    在开始菜单中选择"运行" ,输入 "regsvr32 ***.dll" (不要输入引号,***是你要注册的dll文件名),只是如果dll文件不 在windows ...

  9. 建立注册DLL和反注册DLL文件的快捷方式

    我们经常要注册或者反注册自己写的dll文件,加一个快捷方式会减少自己的工作量: [HKEY_CLASSES_ROOT/dllfile/shell/Unregister] "Command&q ...

最新文章

  1. 干货|NLP 的四张技术路线图,带你系统设计学习路径
  2. linux查看应用线程号命令,虚拟机:Linux查看线程信息的步骤
  3. 【机器视觉】 convert_vector_to_tuple算子
  4. python面向对象作业_python面向对象编程作业
  5. Ubuntu默认不进入图形界面
  6. cocos android-1,cocos2dx在windows下开发,编译到android上(1)
  7. Eclipse和PyDev搭建完美Python开发环境(Windows篇)
  8. 2017年UI、Web、微服务顶级框架都有啥?不看就落伍了1
  9. android opencv 识别水果,opencv – 在一盘水果中检测香蕉或苹果,成功率 90%. (见图)...
  10. 什么是云渲染?为什么要用电脑渲图?
  11. 如何才能降低亚马逊账号关联?
  12. 苹果手机怎样录屏 如何录制手机内容
  13. MySQL里什么是主键_mysql主键是什么?
  14. Cygwin 与 MinGW/MSYS/MSYS2,如何选择?
  15. 反思中国十大失败企业
  16. Reveal.js HTML5炫酷幻灯片
  17. 差分信号经运放后转为单端输出供单片机采集原理图
  18. Golang 入门-Gin框架安装及使用
  19. 大数据岗位薪资了解一下~
  20. Curl de 详细介绍

热门文章

  1. 李帅将道访武当山,拜会李光富会长
  2. 计算机技术在数控系统的应用,计算机技术在数控系统中的应用
  3. FtpServer的安装配置方法
  4. 关于项目报告的写法问题
  5. 满天繁星下度过一个愉快的夜晚
  6. 双十一安卓第一,小米跃居11月首周中国市场份额第二
  7. 小孩子多动症有哪些表现?
  8. ADK+MDT实现域控服务器全自动静默下发系统(五):MDT的部署--Task Sequences的配置
  9. i5 12600kf和i5 10400f 选哪个
  10. 阿里云 vs Azure-监控与管理