Gargamel
驱动牛犊
驱动牛犊
  • 注册日期2002-04-24
  • 最后登录2004-04-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1717回复:5

请教:驱动程序如何打包使其可自动安装?

楼主#
更多 发布于:2002-04-24 16:03
编写的软件中用到了第三方写的NDIS的网络驱动。
在作安装盘的时候,怎么处理驱动程序,使得它在安被
时可被正确装入系统?

第一次来,不知道分的作用,所以给了0分。请大侠们见谅。

如果有人解决了我的问题。能给多少我就给多少




[编辑 -  4/24/02 作者: Gargamel]
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-04-24 16:47
不太明白你的意思
你的驱动是个什么冬冬
有关于自动安装的问题可以看ddk中的例程
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
Gargamel
驱动牛犊
驱动牛犊
  • 注册日期2002-04-24
  • 最后登录2004-04-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-04-24 17:00
具体地说,就是我写了一个对以太网数据进行监听的东东,里面用到了一个用ndis的网卡驱动程序netprobe.sys。
我想把我的程序和驱动程序打成一个安装包。

问题是:我该如何作才能使得驱动程序在安装时可被正确的装入?

请您回答地具体一些(我是菜鸟)
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-04-24 17:32
我没有做过网卡的驱动
但是听你的意思是你的应用程序调用了这个sys
所以要一起安装,
我觉得可能需要编写一个inf文件,
将这个sys拷贝到系统目录下winnt\\system32\\drivers
再向注册表的service键中添加一些内容
具体的我也无法给你例子



[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
feng_yu1
驱动牛犊
驱动牛犊
  • 注册日期2002-04-27
  • 最后登录2003-04-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-04-28 17:15
比较简单的方法是:在你在机器中查一下你注册表中网卡驱动程序所在的键,将其导出,制做安装文件时所有程序装入相应目录,然后将所导出的键值写入注册表中。安装文件制做可用InstallShield 6.0等。
yufeng
jansen
驱动小牛
驱动小牛
  • 注册日期2001-10-21
  • 最后登录2007-10-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-04-30 08:36
加载一个驱动程序,主要就是,在
SYSTEMCurrentControlSetServices 建一个键。
如:
SYSTEMCurrentControlSetServicesTwdm1
Type(1)
ErrorControl(0)
Start(3)

上述的三项在inf 文件里都有的
多数驱动程序都是通过设置 Start 的值为 0, 1, 2 。
在系统启动的过程中加载驱动程序。
当然若有其他的注册表项,你应该添加它

win2k 下驱动程序的加载处理除了上述方式外,
还可以在应用程序里用 Service Api 实现,驱动程序的动态加载。
这时候的 Start 为 3 。

所用到的 Api 为:
OpenSCManager, CreateService, OpenService, StartService
ControlService, DeleteService, CloseServiceHandle

其中需要说明的是:
CreateService :参数在注册表里自动创建驱动程序需要的键值。
DeleteService :自动删除驱动程序在注册表里创的键值
rich
游客

返回顶部