有时会遇到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;}

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

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. C# 代码注册Dll文件

    转自:https://www.cnblogs.com/xiesong/p/7243397.html 有时会遇到dll在系统中不存在,需要程序自己去注册所需的dll文件. 注册dll 需要用到regsv ...

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

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

  7. 如何反注册DLL文件

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

  8. windows如何注册DLL文件

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

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

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

  10. 教你如何注册dll文件

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

最新文章

  1. 如何在python中找到两个日期时间对象之间的时差?
  2. Web服务-Nginx网页服务
  3. 纠错——【Singleton array array(0.2) cannot be considered a valid collection.】
  4. python vector_50行Python代码实现经典游戏,不仅是划水神器,更是学习利器!
  5. iOS - Swift NSRect 位置和尺寸
  6. 博文视点大讲堂第15期:猎头揭秘
  7. Web — 调色盘打开+div
  8. 微商怎么引流客源,谈谈我这些年引流的经验
  9. 大数据高冷?10个有趣的大数据经典案例
  10. java mission control_Java Mission Control之使用
  11. 几种常见的光纤接头(ST,SC,LC,FC)以及PC、APC和UPC的区别
  12. html传参,css接受?What 弄啥嘞?
  13. 利用单片机给直流升压
  14. Windows10制作双系统来越狱 ios13.3.1(非常方便,不要U盘)
  15. 在 CentOS 7.6 上打包 Android Package APK
  16. Linux中的lo回环接口详细介绍
  17. 远程连接linux虚拟机和破解虚拟机密码
  18. 这又是一则招聘贴——招聘区块链系统开发的同学
  19. windows中使用钩子拦截消息
  20. [4G5G专题-33]:物理层-浅谈ZC序列的原理以及在LTE PSS中的应用

热门文章

  1. Java之数组(下)
  2. Android--UI控件
  3. 怎样呵护友谊_我不善于经营友情,有好的开始却没有好的友谊,怎样建设友情呢?...
  4. linux文件权限中 chmod、u+x、u、r、w、x分别代表什么
  5. Linux chapter 6
  6. 阶段3 2.Spring_08.面向切面编程 AOP_10 总结和作业安排
  7. JDK8下maven使用maven-javadoc-plugin插件报错
  8. Exp4恶意软件分析 20154326杨茜
  9. 支付宝新漏洞引发恐慌,那如何关闭小额免密支付呢
  10. 好公司和差公司的对比