说明

主要的方法有以下三种

  • 在innosteup中直接安装驱动
  • 使用批处理安装驱动

一:直接在innosetup中安装驱动

未成功验证,可以参考以下的blog
https://blog.csdn.net/chenlu5201314/article/details/54943946

二:使用批处理安装

1. 批处理文件

@echo off
if "%1"=="hide" goto begin
start mshta vbscript:createobject("wscript.shell").run("""%~0"" hide",0)(window.close)&&exit
:begin if exist %SystemRoot%\System32\pnputil.exe (set "SystemPath=%SystemRoot%\System32"
) else if exist %SystemRoot%\Sysnative\pnputil.exe (set "SystemPath=%SystemRoot%\Sysnative"
) else (echo ERROR: Cannot find pnputil.exe to install the driver.echo/pausegoto :EOF
)
%SystemPath%\pnputil.exe -i -a "%~dp0\CH341SER.inf"

以下代码表示隐藏cmd弹出指令

if "%1"=="hide" goto begin
start mshta vbscript:createobject("wscript.shell").run("""%~0"" hide",0)(window.close)&&exit
:begin

以下代码表示获取pnputil的路径

if exist %SystemRoot%\System32\pnputil.exe (set "SystemPath=%SystemRoot%\System32"
) else if exist %SystemRoot%\Sysnative\pnputil.exe (set "SystemPath=%SystemRoot%\Sysnative"
) else (echo ERROR: Cannot find pnputil.exe to install the driver.echo/pausegoto :EOF
)

以下代码表示执行驱动安装

%SystemPath%\pnputil.exe -i -a "%~dp0\CH341SER.inf"

2. innosetup设置

由于pnputil.exe需要用管理员权限运行才能成功安装驱动,所以innosetup中需要获取管理员权限

[Setup]
PrivilegesRequired=admin[Run]
Filename: "{app}\CH341SER\DriverCH341.bat";

使用流程如下:

  1. 将“CH341SER”文件夹放到需要打包的exe文件同一个目录下。
  2. 打包的应用需要以管理员权限运行。在“[Setup]”中添加“PrivilegesRequired=admin”。
    若innosetup以前未设置过管理员权限,则参考如下:
    找到Inno Setup安装目录下的SetupLdr.e32文件,使用Resource Hacker软件打开,将Manifest中requestedPrivileges的改成
  3. 在“[Run]”中添加bat文件执行。如:
    Filename: “{app}\CH341SER\DriverCH341.bat”;

3. 尝试错误说明

  1. 使用bat2exe
    可以成功的将bat文件转换为exe文件,但是不能解决当开启pnputil.exe cmd powershell等的弹框。
  2. 使用vbs文件实现隐藏
    可以成功编译但是无法执行批处理文件。考虑是否是因为没有管理员权限等原因。而且innosetup中无法运行vbs文件。
    vbs具有管理员权限
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c 批处理程序名",vbhide

innosetup打包驱动相关推荐

  1. Innosetup打包脚本常用设置大全

    文章目录 Innosetup脚本框架 指定安装包的各种属性 设置应用的开机启动 修改注册表 安装包的初始化操作 生成桌面快捷方式 调用动态库函数 Innosetup是一款常用的打包软件,可以用来制作w ...

  2. InnoSetup打包工具使用;C#打包工具;VB打包工具;EXE打包工具;C++打包工具

    打包工具InnoSetup使用 一.摘要 1.描述 2.关键字 二.什么是InnoSetup 三.什么时候需要使用InnoSetup 四.InnoSetup生成安装包效果图 五.InnoSetup使用 ...

  3. InnoSetup打包自动签名

    关于打包 ​ 我第一次接触打包,用的是inno Setup.软件自带文档,比较方便,而且我下载的是汉化版,更容易查询.刚开始用这个软件什么都不会,慢慢摸索,普通打包基本上没有问题了,后来因为打包的软件 ...

  4. 使用InnoSetup打包安装程序

    在C++项目编译完成后,会生成一个.exe文件,还有一些图标.动态链接库等文件,比如.ico..dll.可以使用InnoSetup这些文件打包成一个setup.exe. 详细步骤如下: 1. 打开In ...

  5. innosetup 打包

    1.shellexec ShellExec('open','taskkill.exe','/f /im {#MyAppExeName}','',SW_HIDE,ewNoWait,ErrorCode); ...

  6. 通过 InnoSetup 美化安装界面

    在 github 仓库里的 通过 InnoSetup 美化安装界面 提供持续更新 InnoSetup 的美化相应的帖子也比较多,但是代码不是很全...所以我专门出了这篇文章来记录下这个美化过程. 废话 ...

  7. 为VMwareESXi添加驱动

    某些的服务器在安装ESXi时缺驱动程序,如找我在浪潮服务器NF8460M3安装时找不到硬盘或者网卡,此时需要自行添加驱动程序到ESXi的安装包中. 准备驱动打包工具 WMware现在使用的驱动打包工具 ...

  8. ESXI6.7网卡驱动封装之离线封装

    ESXI相关文章博客上已经有好几篇干货了,所有均是独家首发(你在本站所有下载的包,我都需要额外的流量支出,欢迎捐赠,以便我达到收支平衡),之前发布的一篇在线封装ESXI6.7网卡驱动的教程比较火,给我 ...

  9. inno setup打包脚本总结

    inno setup是比较简单好用的一款打包工具. 下面以打包HelloWorld.exe为例进行说明. 一.打包目录的建立 创建source目录:用于放置主程序.依赖dll.资源等待打包文件. 创建 ...

最新文章

  1. 官宣!推动深圳大学、南科大创建“双一流”!
  2. MAC安装Win10出现”在efi系统上,windows只能安装到gpt分区”问题的解决
  3. 领度CEO廖睿:企业社交最大的阻力来自老板
  4. 什么是HADOOP、产生背景、在大数据、云计算中的位置和关系、国内外HADOOP应用案例介绍、就业方向、生态圈以及各组成部分的简介(学习资料中的文档材料)
  5. win10安装misql8_Windows10安装MySQL 8.0.11
  6. selinux= 为 disabled_Selinux安全加固
  7. 如何解决Mac无法写入U盘的问题
  8. java封装继承多态实验总结_java封装继承多态理解3000字论文
  9. ZooKeeper典型应用场景
  10. FPGA时钟电路PCBlayout设计原则
  11. 极客日报:虎牙被抬员工当事人再发声;Android 12 DP1 带来新隐私功能;IBM 考虑出售Watson Health业务...
  12. 邮件安全防护之反垃圾邮件开源软件ASSP
  13. MarkMan(马克鳗)
  14. 【Redis学习05】优惠券秒杀及其优化
  15. 大一计算机虚拟机,虚拟机对电脑伤害大吗
  16. css如何添加模糊效果,css动态模糊效果
  17. uniapp项目运行到小米平板调试
  18. Python 多线程卖票问题
  19. SF14 | Supertrend“超级趋势线”指标魔改升级(源码)
  20. HDFS磁盘满了扩容

热门文章

  1. java蜘蛛纸牌_Java课程设计——蜘蛛纸牌
  2. 操作系统精选习题——第六章
  3. 再见 Go 面试官:GMP 模型,为什么要有 P?
  4. show processlist 解释
  5. uniapp使用高德的离线地图
  6. Windows 10 双启动菜单丢失
  7. 微博粉丝互粉列表统计
  8. pjblog支持QQ、新浪微博一键登录
  9. 企业转型做互联网广告怎么样?
  10. 通往编程高手之路:《深入理解操作系统》