fshs56
驱动牛犊
驱动牛犊
  • 注册日期2011-09-25
  • 最后登录2011-10-09
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2405回复:4

PassThru自动安装跳出文件选择框怎么去掉?

楼主#
更多 发布于:2011-09-25 08:17
        本人新做了个Passthru,手动安装已经成功。但是自动安装出了点小问题,请教各位驱动前辈们。问题是这样的,我用WDK自带的bindview例子修改进行安装,但是最后总是跳出一个文件浏览框让我选择映像文件passthru.sys,我调试bindview的源码,发现它调用的是COM接口,不知道用什么办法能去掉这个选择框呢?否则自动安装要变成半自动安装了。。。。。。希望各位驱动前辈们能帮帮我。谢谢!!!

最新喜欢:

zlt004zlt004
驱动初学者
zhangfresh
驱动牛犊
驱动牛犊
  • 注册日期2008-07-21
  • 最后登录2024-11-22
  • 粉丝1
  • 关注2
  • 积分94分
  • 威望871点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2011-09-29 17:57
        因为你之前手动安装之后,在widows/inf文件夹下生成了oemxx.inf文件(xx是数字),就是inf文件的备份。卸载的时候,这个oemxx.inf文件保留在文件夹内。
    程序安装调用SetupCopyOEMInf的时候,windows发现你的inf文件版本并不比oemxx.inf新(有一系列判断规则,如日期、版本),用api拷贝inf到windows/inf的时候,直接用以前那个。以前那个,指向的sys是你手动安装时候的sys文件,它不存在了,弹出框框来叫你告诉它sys文件在哪里。
    一种办法是,安装之前,往inf文件里面随便写点无关的东西,把文件的日期变得较新,这样操作系统就不会用原来的oemxx.inf了。缺点是,如果驱动有签名,inf文件变动后签名无效了。
    彻底的解决办法是,安装成功后,记录下这个oemxx.inf的具体文件名,保存在一个文件里面。卸载驱动完成的时候,找出这个文件名,调用SetupUninstallOEMInfW删除这个oemxx.inf,这样它就不存在了。
fshs56
驱动牛犊
驱动牛犊
  • 注册日期2011-09-25
  • 最后登录2011-10-09
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2011-10-02 18:28
我打开Inf文件夹发现里面有10多个类似的oemxx.inf,不知道是哪一个?

二是安装时怎样记录这个oemxx.inf文件呢?用API吗?还是监视Inf文件夹?能否说说具体方法?谢谢!!
驱动初学者
fshs56
驱动牛犊
驱动牛犊
  • 注册日期2011-09-25
  • 最后登录2011-10-09
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2011-10-02 18:47
回 1楼(zhangfresh) 的帖子
我打开Inf文件夹发现里面有10多个类似的oemxx.inf,不知道是哪一个?

二是安装时怎样记录这个oemxx.inf文件呢?用API吗?还是监视Inf文件夹?能否说说具体方法?谢谢!!
驱动初学者
zhangfresh
驱动牛犊
驱动牛犊
  • 注册日期2008-07-21
  • 最后登录2024-11-22
  • 粉丝1
  • 关注2
  • 积分94分
  • 威望871点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2011-10-09 13:19
手工安装的oemxx.inf文件直接删掉,删之前打开看看是不是passthru的。
调用SetupCopyOEMInf的时候,其中有个参数就是返回产生的oem文件名
游客

返回顶部