利用installshiled打包.inf和.sys驱动文件到setup.exe的方法
近期收到一个需求,简单来说就是把某驱动程序打包为一个单独的setup.exe,方便使用。
由于之前并没有打包过驱动安装文件的经验,只是简单做过纯应用软件的打包,但是想来应该方法和步骤也差不多,于是研究了一下客户提供的驱动文件结构,也学习了一下windows驱动安装方面的知识,经过几天的尝试,终于找到了一个比较简便的方法。
这套驱动程序文件包含了.inf、.sys以及其他一些文件:
其中.inf和.sys是标准的windows驱动相关文件,这类驱动需要手动安装,首先插入设备,然后在系统的设备管理里面找到对应的设备,从设备属性里面查找驱动安装。
我们可以使用InstallShiled来制作安装程序,方法如下:
一 先下载并安装InstallShield,我这里使用的版本是2010
二 打开InstallShield,并在初始化页里面选择创建新的工程
三 选择工程类型为MSI类型,这个最适合常规的安装工程, 其他的类型功能更强大一些,可以通过脚本语言来定制安装过程,这里我们用最简单的。
四 工程配置
配置应用程序基本信息,主要是程序名称,版本,公司名称等。
安装要求都选择否
安装体系结构选择否
应用程序文件、应用程序快捷方式和注册表,我们都不使用,使用默认选择就好
安装问答界面,根据你自己的需求选定
本地化,其实就是多语言的问题,这里在列表前面勾选你需要支持的语言,这样在软件安装的时候就会出现语言选择框
接下来最重要的一步,就是选择驱动文件夹,对于驱动程序,InstallShiled有专门的向导,我们使用向导功能就可以,首先点击安装设计器->组织->安装设计,右键单击demo_files打开属性菜单,找到device driver wizard选项并打开
选择驱动文件,就是.inf文件,根据你的驱动文件在磁盘的路径自定义,需要把.inf和.sys以及其他驱动文件都放在同一个目录下面,System Architecture是设置编译出来的setup.exe运行在那种平台上,这个根据你的需要选择,我这里是 amd64位架构
下一步,向导会把所有驱动相关的文件列举出来
下一步,按照如下设置,勾选复选框
下一步,设置驱动的运行平台,这里同样选择64-bit系统,下一步直至完成。
五 构建工程
- 切换到工程助手界面,选择构建安装,并选择输出为单个可执行文件,最后点击构建安装按钮执行构建
- 查看InstallShield的日志, 如果没有错误,在工程目录下就有一个setup.exe的文件产生,这个就是最终的安装文件。
最后双击运行setup.exe,安装安装程序提示,一步步操作,以下是我制作出来的安装效果,不少地方还是可以定制化的。
至此一个驱动安装程序就做好了,是不是非常 easy ? 下一次再来谈一谈,如何把已经发布的setup.exe提取出驱动文件,然后修改软件名称,公司名称,版本,安装图标等,达到定制化目的。
以上仅限于技术学习讨论, 禁止用于商业目的。
利用installshiled打包.inf和.sys驱动文件到setup.exe的方法相关推荐
- windows7系统无法开机显示丢失volmgrx.sys驱动文件
windows7断电后,显示丢失volmgrx.sys驱动文件,只需要下载该文件,通过pe替换文件,可以开机. 第一步.获取丢失文件,在下面链接中,可以下载到相应文件.要根据自己的系统版本,下载对应的 ...
- Python将py文件编译为exe的方法
使用PyCharm工具写好的Python程序脚本,怎么将.py文件编译为可执行的.exe文件 前提是已经安装了Python环境. 第一步:在PyCharm内下载安装pyinstalle库或使用CMD安 ...
- 手动安装sys驱动文件_海龙工具的正确安装及卸载方法,自己动手丰衣足食
海龙的安装以及卸载方法非常简单,掌握了随时随地任意电脑都可开启高效高质的绘图方式.把打开潘多拉正版海龙功能的钥匙牢牢地掌握在自己手中吧! ⬇⬇⬇按需浏览,重点标星★ 一.下载海龙安装包/CAD版本 二 ...
- u盘安装linux找不到驱动,利用U盘加载控制器驱动来安装Linux系统的方法
一般我们在安装服务器过程中需要加载一些scsi卡或raid卡驱动,以便操作系统可以检测到硬盘. 常规的安装方式是要用到软驱,其实我们也是可以通过U盘来进行加载的. 装Linux控制器驱动往往都是*.d ...
- WFP(三)——编译、部署驱动文件*.sys——微软msnmntr项目
通过WFP,我们可以编译得到sys驱动文件.此时需要我们把sys驱动文件部署到目标主机上,本文介绍部署的方式方法. 术语 host computer: 宿主主机,开发.编译驱动的主机 target/t ...
- Windows 11操作系统 ndis.sys 驱动无限蓝屏问题修复
目前本人从 Windows 10 企业版升级到 Windows 11 企业版操作系统,遭遇到一个 ndis.sys 驱动无限制蓝屏的问题. 表现为 n1.待机一段时间后蓝屏 2.进入操作系统正常上面会 ...
- python打包和添加数据文件_Python打包时添加非代码文件的坑
Title: Python打包时添加非代码文件的坑 Tags: python, 小结 对于 Python 的打包, 通常有两种, 一种是对源文件打包, 一种是安装包, 既在上传 pypi 的时候一般会 ...
- python能封装成exe文件_python文件封装成*.exe文件(单文件和多文件)
环境:win10 64位 python3.7 单*.py文件打包 Python GUI:程序打包为exe 一.安装Pyinstaller,命令pip install Pyinstaller,(大写的 ...
- 利用MAVEN打包时,如何包含更多的资源文件
首先,来看下MAVENx项目标准的目录结构: 一般情况下,我们用到的资源文件(各种xml,properites,xsd文件等)都放在src/main/resources下面,利用maven打包时,ma ...
最新文章
- Maven项目下HttpServletRequest 或 HttpServletResponse需引用的依赖包
- 关于STM32中CAN1_RX0_IRQn和CAN1_RX1_IRQn的使用
- 菏泽合村并居促土地流转-农业大健康·万祥军:集约谋定高效
- 从零点五开始用Unity做半个2D战棋小游戏(七)
- 安卓案例:利用单选按钮切换碎片
- 阿里云盘内测_阿里云盘内测邀请码发放!30MB/s的下载速度
- JS魔法堂:LINK元素深入详解
- linux音频alsa-uda134x驱动分析之一(over-view)
- 双向循环链表实现—通讯录(学生管理系统,自行车管理系统,影院管理系统)—C语言课设(万能模板)—数据结构—用文件存储数据
- js 判断2月份多少天
- Matlab中图形对象属性gcf使用
- php需要帮助搞域名吗,域名转向系统的实现_php
- python实现猜测随机数
- Bloodsucker ZOJ - 3551
- 跟键盘在一起时间比女朋友还长? 程序员如何选好一块专属键盘?
- 地表最强的GPT-3,是在推理,还是胡言乱语?
- 如何解决VS下载速度慢
- 使用v-charts报错
- SQL入门-连结(JOIN)
- 【正点原子FPGA连载】第三十一章RTC实时时钟数码管显示实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1