首页 > 编程语言 >Inno SetUp安装包:如何在程序安装时卸载驱动程序

Inno SetUp安装包:如何在程序安装时卸载驱动程序

时间:2023-07-18 13:12:58浏览次数:43  
标签:驱动程序 示例 程序安装 pnputil runascurrentuser Filename 卸载 安装包

pnputil命令行方式卸载

如果您想通过命令行卸载.INF文件的驱动程序,您需要使用PnPUtil命令。以下是一个示例:

pnputil /delete-driver oem0.inf /uninstall

在这个示例中,oem0.inf应该被替换为您要卸载的驱动程序的.inf文件。使用pnputil /enum-drivers命令可以列出已安装驱动程序的列表。

请注意,你需要以管理员身份运行命令提示符窗口才能执行这个操作。

在使用这些方法之前,请确保备份您的数据,并且知道如何从系统恢复(例如,如果卸载了错误的驱动程序)。这些步骤可以在系统不稳定或无法启动的情况下造成问题。

集成到InnoSetUp:

[UninstallRun]

RunOnceId:"StopPS5Driver"; Filename:"{cmd}"; Parameters:"/C pnputil /delete-driver flydigigamemap.inf /uninstall > ""{app}\FlydigiUninstall.log"" 2>&1"; Flags:runhidden runascurrentuser

总结:这个命令集成到InnoSetUp后,最终没有卸载成功,原因未找到。

Devcon工具方式卸载

如果以上两点都确认无误但仍无法卸载,你可能需要考虑使用更底层的驱动管理工具,比如Devcon(Windows驱动开发套件(WDK)的一部分)。

Devcon工具提供了一个remove命令,它可以用来卸载设备和驱动程序。在这种情况下,你需要知道设备的硬件ID。在这里是一个使用Devcon来卸载驱动的示例:

[UninstallRun]
RunOnceId:"StopPS5Driver"; Filename:"{cmd}"; Parameters:"/C devcon remove @YourHardwareID > ""{app}\Uninstall.log"" 2>&1"; Flags:runhidden runascurrentuser

在这个示例中,你应该把YourHardwareID替换为你要卸载的设备的硬件ID。

请注意,devcon不是Windows操作系统的标准组成部分,因此如果你选择这种方法,你可能需要把devcon的可执行文件包含在你的安装包中,或者在你的卸载脚本中下载它。

最后,记住操作驱动和设备时应当小心,因为不正确的操作可能会导致系统不稳定。在执行任何这样的操作前,你应当确保已经备份了你的重要数据。

卸载应用程序时

[UninstallRun]

RunOnceId:"StopPS5Driver"; Filename:"{cmd}"; Parameters:"/C pnputil /delete-driver @YOUInfFileName /uninstall > ""{app}\FlydigiUninstall.log"" 2>&1"; Flags:runhidden runascurrentuser

安装应用程序

[Run]

Filename:"{app}\devcon.exe"; Parameters:"remove @YourHardwareID"; Flags:runhidden runascurrentuser; StatusMsg:"Removing old driver..."

总结:这种方式完美解决驱动卸载的问题。

标签:驱动程序,示例,程序安装,pnputil,runascurrentuser,Filename,卸载,安装包
From: https://www.cnblogs.com/aiaipro/p/17562621.html

相关文章

  • centos7中根据gcc编译器安装包升级gcc编译器
     001、系统信息[root@PC1home]#lsb_release-aLSBVersion::core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarchDistributorID:......
  • centos7.4 yum 安装包的实现多实例
    1yuminstallmariadb-server2mkdir/mysqldb/{3306,3307,3308}/{etc,socket,pid,log,data}-pvchown-Rmysql.mysql/mysqldb/3mysql_install_db--datadir=/mysqldb/3306/data--user=mysqlmysql_install_db--datadir=/mysqldb/3307/data--user=mysqlmysql_inst......
  • 如何在win10系统主机中安装win10系统虚拟机(附win10镜像和VMware Station 15 Pro安装包
    win10虚拟机镜像:链接:https://pan.baidu.com/s/1duHTmR9ZHfRqwretY2IvHg提取码:6hi4VmwareStation15Pro安装包:链接:https://pan.baidu.com/s/1CiL8HcEAlYo-iyCrbkflpA提取码:ka9m 下载完后,安装VMwareStation。需要永久激活码的童鞋请参考:VMwareWorkstation15中文破解......
  • Unity下载安装包并进行安装
    项目上要做更新,还没学热更新,要做到游戏内部下载安装包并进行安装的效果,项目不采用Url转跳默认下载器的方式。Url转跳下载方式Application.OpenURL(URL);用这个转跳你的Nginx下载路径就行了,项目上不让用这种方式Unity内下载安装包Unity调用安卓安装安装包参考文章待整理......
  • Windows 驱动程序签名教程(一) --- 开发测试篇
    一、内核驱动签名初篇1.大概聊一聊现有驱动情况1.开启安全启动(SecureBoot)1.使用微软WHQL签名2.使用2013-2015年签发的驱动签名,已过期未吊销未拉黑(不知道什么时候打个补丁会修复).2.关闭安全启动(SecureBoot)1.使用微软WHQL签名2.使用过期签名的sha1sha256都可以正常......
  • AI 绘画| Stable Diffusion 最新版安装包,包含 WIN/MAC 版!
    StableDiffusion大概是时下最流行的两个项目之一,另外一个就是大名鼎鼎的ChatGPT,AI绘图现在已经是非常成熟,相信很多做设计的朋友都知道StableDiffusion,只需要描述一段文字,它就能帮你生成一张图片。今天给大家分享最新版的StableDiffusion安装包,对于想要入门折腾StableD......
  • c++项目打包,发布win安装包
                      添加文件夹里面除了子文件夹的所有文件 ......
  • ubuntu20.04 卸载已有的显卡驱动,安装安装 NVIDIA 驱动程序 525.85.12(主要是搭建deepst
    nvidia安装deepstream官网:  https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_Quickstart.html一、首先卸载本机的显卡驱动:参考连接(https://blog.csdn.net/gongdiwudu/article/details/128850792)1、卸载驱动库sudoapt-get--purgeremovenvidia*sudoapt......
  • 如何识别虚拟机上的显卡驱动程序
    在虚拟机/云环境中运行ENVI/IDL越来越受欢迎。确保虚拟机满足与台式机或笔记本电脑相同的硬件要求非常重要。在大多数情况下,在虚拟机环境中安装和运行ENVI的方法与台式机或笔记本电脑没有什么不同。然而,虚拟机缺少物理显卡并使用默认软件库的情况并不罕见。ENVI/IDL中的某些工具......
  • Linux系统驱动之分析内核自带的LCD驱动程序_基于IMX6ULL
    资料下载coding无法使用浏览器打开,必须用git工具下载:gitclonehttps://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git视频观看百问网驱动大全分析内核自带的LCD驱动程序_基于IMX6ULL参考资料,GIT仓库里:IMX6ULL\开发板配套资料\datasheet\Core_board\CPU\IMX6ULLR......