chenggp_fj
驱动牛犊
驱动牛犊
  • 注册日期2004-11-02
  • 最后登录2005-08-15
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2454回复:7

inf文件做成exe文件来安装问题,请高手关注讨论!

楼主#
更多 发布于:2004-11-23 08:44
系统为WIN2K,设备是一个端口设备,用厂商提供的inf和sys可以正确安装,
现在我想做成一个exe文件来安装驱动,用的是SetupCopyOEMInf函数

如下的代码可以在WINNT\inf目录下产生oem*.inf和oem*.PNF,可
是我重启系统后插入硬件设备,还是提示发现新硬件,然后还是要
指定文件位置,就和什么都没做安装新硬件一样
BOOL CSetupInfDlg::SetupInf(CString InfName)
{
if(!SetupCopyOEMInf(InfName,
NULL,
SPOST_PATH,
SP_COPY_DELETESOURCE,
NULL,
0,
NULL,
NULL ))
return 0;
else
return 1;  //正常返回1,成功
}

void CSetupInfDlg::OnButton1()
{
    bool IsSetupOK;
CString lpszValue;
lpszValue="C:\\OXSER_c.INF";
IsSetupOK = SetupInf(lpszValue);
}
//上面好象没有改注册表的任何地方,我想这种做法是否有问题?
我只要在VC中编成exe文件来用,不用installshied等打包工具

最新喜欢:

ltgbjltgbj
chenggp_fj
驱动牛犊
驱动牛犊
  • 注册日期2004-11-02
  • 最后登录2005-08-15
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-11-23 08:46
上面是winnt下的inf,怎么斜杠不能显示
lpszValue="C:\OXSER_c.INF";
上面也是显示少了一条斜杠

[编辑 -  11/23/04 by  chenggp_fj]
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-11-23 09:07
光拷贝inf不行吧,是不还要把驱动文件拷贝到系统目录
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
chenggp_fj
驱动牛犊
驱动牛犊
  • 注册日期2004-11-02
  • 最后登录2005-08-15
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-11-23 10:01
都拷了
sys拷到system32下的drivers下了
dll拷到了system32下了


用发现新硬件-》指定文件所在目录
的方式。正确安装后有改注册表,但用我上面的代
码没有改注册表,这样能行吗?我疑惑的很,但是注册表我们
不能强行去改吧,因为我们无法确定端口是COM4,COM5还是COMn
,另外XP下的节点还有权限限制

[编辑 -  11/23/04 by  chenggp_fj]
chenggp_fj
驱动牛犊
驱动牛犊
  • 注册日期2004-11-02
  • 最后登录2005-08-15
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-11-23 13:21
????????
????????
没人会是吗?
tigerL
驱动小牛
驱动小牛
  • 注册日期2003-12-24
  • 最后登录2008-10-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望23点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-11-28 21:28
把sys拷到system32\\drivers下是不行的,具体放哪儿要看你的inf文件是怎么写的。

按下面的做法试试,应该问题不大:
1,注释掉inf文件中的SourceDisksFiles和SourceDisksNames两节;
2,新建一个目录,然后把sys文件和inf文件放在此目录下;
3,以“新目录名\\xxx.inf”作为参数调用SetupCopyOEMInf;
4,插上设备,应该能够自己找到sys文件。



[编辑 -  11/28/04 by  tigerL]
省元坊
aiwadgj
驱动老牛
驱动老牛
  • 注册日期2004-11-13
  • 最后登录2020-12-24
  • 粉丝0
  • 关注0
  • 积分119分
  • 威望84点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
  • 社区居民
6楼#
发布于:2004-11-30 17:40
sys文件不是必须的拷贝到系统文件夹下面吗?
要不能装上吗?
如果不拷贝到系统文件夹下面的话,
能装上吗?(能完成驱动的自动装载吗?)
还想问一下:装载驱动的时候要将什么文件拷贝到系统文件夹下面?
(出来sys以外应该还有别的文件吧?)
酒也在沉溺,何时麻醉我抑郁。过去了的一切会平息。。。。。。。
tigerL
驱动小牛
驱动小牛
  • 注册日期2003-12-24
  • 最后登录2008-10-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望23点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-11-30 22:22
如果是2k那么,执行完安装之后,插上设备,系统会自动把驱动程序从安装目录下复制系统目录下,并执行安装。


如果是xp那么,如果驱动程序和inf文件没有经过数字签名,系统会弹出“发现新硬件”窗口,你只需点“下一步”即可完成安装。
省元坊
游客

返回顶部