Window Driver 安装

Mysql ODBC 5.1 Driver安装脚本 <br />在使用Mysql 的时候,需要使用ODBC数据源的方式来连接mysql,所以常常需要用到免安装的驱动,自己参考官网的脚本,<br /> <br />修改了一个实用点的脚本,放出来大家一起分享:<br /> <br />安装mysql odbc 5.1 Driver<br />@ECHO OFF SET installdir=none IF EXIST %windir%/system/nul SET installdir=%windir%/system IF EXIST %windir% 阅读详情

http://huapingjiang.blogcn.com/diary,9089662.shtml

Window Driver 安装 
 

                                                 Windows driver安装

关于setup class

Windows driver的安装是比较复杂的,需要写很多注册表的参数。有些参数是在inf文件里设定,有些是Windows安装程序默认帮你写到注册表里面的。卸载的时候同样也必须卸载掉注册表中driver相关信息。

Inf文件里面一个非常重要的GUID是安装类GUIID(setup class GUID)。它跟driver中定义的GUID,称为接口GUID(Interface GUID)。Interface GUID是driver提供给application,使得application可以跟driver通信。而Setup class GUID是表示设备所属的类的,比如你的设备是USB设备类的,或者modem类的。例如我写了一个modem driver,在它的inf文件里我要指定它的setup class GUID是4D36E96D-E325-11CE-BFC1-08002BE10318,这样modem driver安装以后就会在HLM/SYSTEM/CurrentControlSet/Control/Class/4D36E96D-E325-11CE-BFC1-08002BE10318下面看到modem driver的一个子建,里面记录虚拟的COM口,moden的初始化命令,inf文件的path等等信息。有些时候卸载不完全,这里就会有残留的记录。多次安装过驱动程序,或者安装过很多版本的的驱动,有些时候新版本的驱动就安装不上了。这时就需要去这里看看有没有残留。

我就有一次遇到了问题,设备插上去之后发现安装不上,设备管理器里面就是没有响应(因为我做了class coinstall,所以不会弹出发现新硬件的对话框),发现里面有很多版本的驱动的残留,我清除了这些之后,驱动就可以安装了。

 

关于Co-installer

co-installer的认识是从一个老外那里开始的,他是一个senior engineer。当时我们的设备是一个多接口的USB设备,所以会出现多个新设备的安装。为了简化安装过程,需要写一个coinstaller,原来我们打算安装DDK里面关于co-installer的说明来写的。后来证明不能那样做。我们就写了一个application来把所有需要的sys文件和inf文件复制到system目录下,inf文件还做了转化。因为Windows如果在注册表中找不到驱动信息,先回去system目录下搜索驱动的pnf文件(inf文件的二进制表示)。

这样我们的application就起作用了,安装起来就比较方便。Application执行完之后只要插上设备就可以了,但是由于我们的driver没过WHQL认证,所以在WINDOW 2K下面OK,而在WINDOWS XP下面不行。

由于Windows XP在发现没有认证过的驱动之后,在弹出“发现新硬件”之前,会依次调用class co-installer和device co-installer,而且会把SP_DRVINFO_DATA结构里面的Rank值指定为非0(通过认证它的值是0),后来我们就写了一个class co-installer来修改Rank的值为0。相关处理代码如下:

  case DIF_SELECTBESTCOMPATDRV:

        DbgOut("DIF_SELECTBESTCOMPATDRV");

        if (DeviceInfoData)

        {

            SP_DRVINFO_DATA sDrvInfoData;

            DWORD MemberIndex = 0;

            BOOL bRet = FALSE;

            memset((void*)&sDrvInfoData, 0,  sizeof(SP_DRVINFO_DATA));

            sDrvInfoData.cbSize =  sizeof(SP_DRVINFO_DATA);

            bRet = SetupDiEnumDriverInfo(DeviceInfoSet, DeviceInfoData, SPDIT_COMPATDRIVER, MemberIndex++, &sDrvInfoData);

            if (bRet)

            {

                SP_DRVINSTALL_PARAMS sDrvInstallParams;

                memset((void*)&sDrvInstallParams, 0,  sizeof(SP_DRVINSTALL_PARAMS));

                sDrvInstallParams.cbSize =  sizeof(SP_DRVINSTALL_PARAMS);

                OutputDebugString(sDrvInfoData.Description);

                SetupDiGetDriverInstallParams(DeviceInfoSet, DeviceInfoData, &sDrvInfoData, &sDrvInstallParams);

                sDrvInstallParams.Rank = 0;

                SetupDiSetDriverInstallParams(DeviceInfoSet, DeviceInfoData, &sDrvInfoData, &sDrvInstallParams);

            }

        }

        else

        {DbgOut("DeviceInfoData is null!");

        }

        break;

如何连接Java到SQLServer - JDBC DriverMicrosoft Windows 版本安装说明 首先要了解:连接JDBC这件事,和那些软件或包的版本有关? 与编译器无关。采用任何版本的Eclipse,IDea都不影响; 与Java版本无关。 这款JDBC-Driver通过 Java Platform Enterprise Edition 中可用的标准 JDBC 应用程序编程接口 (API) 提供数据库连接。内置了两个不同的jar文件以解决更老版本的Java驱动问题。 与SQL Se... 阅读详情

相关推荐

Microsoft JDBC Driver 4 0 for SQL Server下载及安装使用说明

Microsoft JDBC Driver 4 0 for SQL Server下载及安装使用说明

qq_44929301的博客 1088

windows驱动安装脚本

windows驱动安装脚本devconwindows驱动安装脚本devconwindows驱动安装脚本devconwindows驱动安装脚本devconwindows驱动安装脚本devconwindows驱动安装脚本devconwindows驱动安装脚本devconwindows驱动安装脚本devcon

Windows Driver Samples剖析之Echo (二)

本文先带大家体验一下Echo工程的编译、安装和测试过程,建立一个感性的认识。后续再继续深入。 一、编译         使用VS2015(带WDK10)打开“kmdfecho.sln”工程,选择“X64”模式(适配目标平台),然后build。它会在“driver\AutoSync”、“driver\DriverSync” 和“exe”三个子目录下分别生成各自的目标文件。其中属于“driver\

Sagittarius_Warrior的博客 1752

升级到Windows 11 24h2版本后惠普打印机错误

打印机是hp laser mfp 136nw 升级win11的24h2版本后,打印机显示就绪,并没有异常,就是打印出错,也没有错误代码啥的

alalaal的博客 3574

CMD命令备份驱动和安装驱动

1.点击调出管理员命令提示符窗口后,接着输入dism/online /export-driver /destination:D:MyDrivers并按回车,如图: 注意:其中D:MyDrivers是备份文件存储的位置,可以自己修改。如果没有这个文件夹,需要先创建一个。 2. 回车确定运行命令后,耐心等待命令完成即可,如图: 3. 待命令完成后,打开计算机,在刚刚选择存储的文件夹中,便可...

HuZc的博客 1万+

关于打印:我或许应该知道些什么?

要说打印这事儿,还真得从咱们老祖宗说起。隋唐年间,中国人发明了雕版印刷。工匠们把一整页文字反刻在一块木板上,刷上墨,往纸上一压——得,一页书就出来了。这个思路,穿越一千多年,到今天的激光打印机里,本质上没变过。激光打印机的感光鼓就是那块"板",激光束就是那把"刻刀",碳粉就是那层"墨"。但雕版有个大问题——一块板只能印一页。你要印一本三百页的书,就得刻三百块板,费时费料。于是北宋年间,毕昇想出了活字印刷:把每个字单独做成一个小方块,要印什么页就把字排进框里,印完了拆开,下次换个内容重新排。

crazyjinks的博客 537

深入理解 Linux 打印体系:CUPS、驱动、ULD 与 Docker 容器化

把以上所有内容串起来,你需要记住的核心知识是这样的:打印的本质是格式转换。你的应用产生 PDF,打印机需要自己的"母语"(PostScript、PCL、SPL 等),CUPS 通过过滤器链完成这个转换。PPD 文件是这条链的"配方",它精确描述了打印机的能力和需要什么过滤器。专用驱动(如 ULD)提供了精确的 PPD 和正确的过滤器,所以排版精确。通用驱动使用通用的 PPD 和过滤器,对简单内容可以,对精确排版就不行。Docker 化的核心挑战是环境完整性。

crazyjinks的博客 933

解决 Apple Mobile Device USB Driver 安装失败或iphone usb连接不识别 window环境

Apple Mobile Device USB Driver 安装失败或iphone usb连接不识别,

benjaminebug的专栏 2万+

安装tensorflow-gpu过程中和nvidia driver 匹配的问题

【本地环境】 操作系统:Window server 2012 R2 64bits NVIDIA版本:Tesla K80,driver版本用nvidia-smi命令查看是376.51 这样的情况下自己安装tensorflow-gpu时太大意了,直接conda install tensorflow-gpu,结果自动安装了 9.0 版本的cudatoolkit 和7.1.4版本的cudnn,然后程...

pusuo3870的博客 1630

PCAN Window Driver 资源下载介绍

PCAN Window Driver 资源下载介绍 去发现同类优质开源项目:https://gitcode.com/ 资源简介 本仓库提供了PCAN Window Driver的下载资源,该资源包含上位机编程软件,适用于CAN网络监测与实时数据处理。通过此软件,用户可以轻松接入CAN网络,实现数据的实时监控与分析。 资源详情 标题:PCAN Window Driver 描述:PCAN Windo...

gitblog_06704的博客 433

window安装tomcat启动报错: Unsupported major.minor version 52.0 (无法载入的.类 [com.mysql.jdbc.Driver])

window安装tomcat启动后不能访问,catalina.out日志启动正常,localhost日志报错如下 Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sysCustomerService': Injection of resource dependencies failed; nested exception is org.springframe

小渣渣 1293

python selenium安装ip_Python+Selenium安装及环境配置

一、Python安装Window系统下,python的安装很简单。访问python.org/download,下载最新版本,安装过程与其他windows软件类似。记得下载后设置path环境变量,然后Windows命令行就可以调用了:二、Selenium安装Python3.x安装后就默认就会有pip(pip.exe默认在python的Scripts路径下),使用pip安装selenium:pip i...

weixin_40008946的博客 144

window下 c++访问mongodb之安装驱动

windows下c++若想访问mongodb需要安装官方驱动。我按照官网的提示做了这个教程。废话不说直接开始。 步骤1:安装cmake 没错是的,你没看错,官网说了安装所有语言(c++,java,python等)的mongodb驱动之前必须先安装c语言驱动,而c语言驱动官方提供的是源码,源码需要cmake去编译,但是我机器上有没有cmake工具所以第一步就是安装cmake。cmake下载地址:

zhengudaoer的博客 1730

MongoDB笔记一,Win10上使用C Driver访问MongoDB Server

Windows10上使用MongoDB的第一个笔记,记录MongoDB的部署,通过客户端使用,通过C语言编程接口访问。

lee353086的专栏 730

MongoDB入门——Driver安装

MongoDB server的安装配置比较简单,去官网上下载一个适合自己版本的server,按照官方documents配置就好。 下面是本人在windows安装C和C++ driver的流程: 安装python,我使用的是python2.7.5,下载地址:http://www.python.org/download/ 2.      安装scons,下载地址

Little X的专栏 1375

安装 VMware 出现 failed to install the hcmon driver

安装 VMware 出现 failed to install the hcmon driver 原因在于你的系统 是win10 但不是企业版或者开发版,hcmon.sys文件还有好几个文件,在安装或者卸载的时候,于windows的系统文件发生兼容,导致VMware将自己的文件误认为不是自己的。这就会发生驱动失败 ,而开发版的win10,是专门正对开发者使用的版本。企业版或者开发版,企业版价格便宜也就100左右,开发者版都是黑客、大神级别才会使用,价格根据要适合开发程序难度不同,几万到几百万不等,最低也得1

酆都城博客 1万+

记录用vs2017安装windows driver失败的坑爹过程

        之前用的vs2015,为了开发驱动,对照视频教程,安装了Win10_WDK_14393.33,很顺利vs里出现了windows driver的选项 后来想试试最新的vs2017,就把vs2015卸载了,安装了最新的vs2017.15.9。这两天想弄驱动,就直接去微软官网下载了wdk在线安装器,直接按装了wdk,完了之后vs2017却不出来windows driver的选项,很...

ty8928861的博客 1975
上一篇: WTL在VC各版本下的安装
下一篇: 驱动安装包制作:使用SetupCopyOEMInf函数 用installshield 即可完成安装
patdz
博客等级 码龄14年 20粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值