http://bbs.driverdevelop.com/simple/index.php?t65230.html----------------------
关于驱动程序安装,只要你细心看了ddk,就应该知道怎样作
对于即插即用简单地说要对付2种情况
1。在你的设备未安装前,安装驱动程序这叫预先安装。
最简单的方法就是使用SetupCopyOEMInf函数。
具体做法是:
将SetupCopyOEMInf封装在一个动态库里。
用installshield将所有文件copy到一个临时目录。
调用动态库使用SetupCopyOEMInf函数copy临时目录下的inf文件(路径)。
installshield让计算机重启。
插上设备,自动识别。
2.你的设备已安装,弹出安装向导。
很简单,让用户搜索你的安装盘,即可完成安装。
我认为,没有特别必要的情况下,没必要使用coinstall.
对与非即插即用设备,要区别对待。
----------------------------------------------------------------------------------------
关于打印机的安装:
非即插即用,如并口。
1。使用添加打印向导,简单的不能再简单了。
2。将AddPrinter,AddPrinterDriver,AddMonitor等封装在动态库。
使用installshield制作安装copy必要的文件到指定的目录。然后调用这个动态库里的这些函数。祥见ddk.
即插即用如usb
和通用即插即用安装方法类似。
ddk里有详细的说明。
重要的一点,在你的固件(firmware),响应IOCTL_GET_DEVICE_ID时
返回IEEE1284兼容的设备ID,格式详见sdk.
关于详细的标准,请查阅usb工作组的设备类规范。
这些是关于即插即用的安装,大多数情况不必修改注册表,对于老式nt的程序则需要。
其实在注册表里添加东西不必大费周张,很简单,installshield就支持对注册表的任意修改。不必用什么函数,即改即用,方便。
----------------------------------------------------
关于扫描仪和照相机的安装
1.非即插即用如串口。
a.可以使用安装向导。
b.installshiel或coinstall
2.即插即用如usb
同前面的即插即用安装一样。
扫描仪和照相机多出的是接口数据源的安装,如twaince。