阅读:1531回复:7
关于使用程序实现驱动程序安装的问题
困扰我多日的程序实现驱动程序安装的问题
我大概在论坛上面翻了翻 有这么一些解决方案,小弟有些疑问请指教: 1.使用ntddk里面的驱动安装例子 这样的话只要小小改动就可以用了 但是在98环境下无法工作(这就是我最头疼的) 2.写程序执行inf所要做的工作,包含文件copy和注册表修改(不知是否有遗漏) 我不太明白怎么知道安装驱动程序时对注册表有那些操作,有为大虾说通过监测注册表的前后变化收集到了这些改动,能不能教教我呢我好想知道。 3.一个csdn那里的牛人寄了个wxxxxxxxx写的fastinstall给我 我看了看说明,好像是说用了之后,双击inf就可安装了,但是需 要在vc1.52下build,我没有,只好作罢 请有经验的xdjm们指点迷津 |
|
沙发#
发布于:2003-06-19 09:48
去看看fastinstall的新版本
|
|
|
板凳#
发布于:2003-06-19 11:20
去哪里可以弄的到呢
|
|
地板#
发布于:2003-06-21 11:32
我在论坛中找到的部分代码,稍稍改了一下,还没试过,你先试试!
对于98的安装!你的2k的安装用ddk中Install的例子?我也没试过呢! 好用吗? void InstallDriver98(char InfFile[],char SysFile[]) { TCHAR CurrenPath[MAX_PATH],InfPathName[MAX_PATH]; TCHAR WinDir[MAX_PATH],WinDir1[MAX_PATH]; TCHAR WinDir2[MAX_PATH]; GetWindowsDirectory(WinDir,MAX_PATH); lstrcat(WinDir,\"\\\\inf\\\\\");lstrcat(WinDir,InfFile); GetCurrentDirectory(MAX_PATH,CurrenPath); lstrcpy(InfPathName,CurrenPath); lstrcat(InfPathName,\"\\\\\");lstrcat(InfPathName,InfFile); CopyFile(InfPathName,WinDir,TRUE); //////////////////////////////// //******************************* GetWindowsDirectory(WinDir,MAX_PATH); lstrcat(WinDir,\"\\\\system32\\\\drivers\\\\\");lstrcat(WinDir,SysFile); lstrcpy(InfPathName,CurrenPath); lstrcat(InfPathName,\"\\\\\");lstrcat(InfPathName,SysFile); CopyFile(InfPathName,WinDir,TRUE); // ɾ³ýÐÅÏ¢¿â GetWindowsDirectory(WinDir1,MAX_PATH); GetWindowsDirectory(WinDir2,MAX_PATH); lstrcat(WinDir1,\"\\\\inf\\\\drvidx.bin\"); DeleteFile(WinDir1); lstrcat(WinDir2,\"\\\\inf\\\\Drvdata.bin\"); DeleteFile(WinDir2); } |
|
地下室#
发布于:2003-06-27 10:53
ntddk里面的那个例子不错,我在nt下用它没问题
在ntddk-->src-->general-->setup-->install里 |
|
5楼#
发布于:2003-06-27 12:08
我是这样做的:
仍然使用SetupAPI,基于INF,但界面自己提供。 安装程序主要把文件copy到目的地(按照INF中的指示),以及是INF copy到INF目录中,然后把这个INF修改掉(主要是去掉copyfile那几行)。 这样,当插上设备时,就能自动装上了。 觉得这样做比较省事 :) |
|
|
6楼#
发布于:2003-06-28 16:24
小弟有一个投机的方法,但是似乎不灵光
想要在用户不干预的情况下安装驱动程序 把类似c:\\windows\\rundll.exe setupx.dll,InstallHinfSection InstallSectioName 132 %1这样的命令行作了个BAT文件 这就类似 键点‘安装’INF 然后执行。看起来FIELCOPY里的文件完全COPY过去了,但是不知道为什么注册表修改的不完全,结果驱动还是装不上去。 用REG TRACER和正确的安装比较,确实少改了好多项目,可是 这些项目我在ADDREG那里都看见了(这个INF是绝对对的) 希望大侠教我,到底这种方式和一般的用管理器安装有什么不同? 可不可以完成驱动的安装呀? |
|
7楼#
发布于:2003-07-02 18:18
ddk里有一个很好的工具,叫devcon,有很多的功能,但就是没有源码,不知道哪位仁兄有这方面的信息
|
|
|