怎么用程序把一个设备的*.sys和inf文件安装起来?

zhuwenzheng 2003-02-20 04:15:01
同上
...全文
755 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
firmamenthy 2003-08-20
  • 打赏
  • 举报
回复
mk
lvgg2000 2003-04-04
  • 打赏
  • 举报
回复
gz
迭代法 2003-03-01
  • 打赏
  • 举报
回复
我用setup factroy做,在调用setupapi动态库的时候,只出来数字签名,就没有进行复制等操作了。在看了setupapi.log后 发现irsetup在执行?而不是Explorer

[2003/03/01 16:37:28 628.4]
Munged cmdline: "F:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\irsetup.exe"
EXE 名称: F:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\irsetup.exe
安装了一个没有签署的或签署得不正确的文件(F:\Program Files\VPrinter\VPRINTER.INF)。错误 0xe000022f: 为此设备安装的一个筛选器驱动程序无效。

而用手工添加则:

[2003/03/01 16:41:59 1340.2 Driver Install]
Munged cmdline: F:\WINNT\Explorer.EXE
EXE 名称: F:\WINNT\Explorer.EXE
正在枚举文件 F:\WINNT\inf\*.inf
文件(F:\WINNT\inf\OEM7.INF)没有经过数字签名,忽略驱动程序日期。
文件(F:\WINNT\inf\oem9.inf)没有经过数字签名,忽略驱动程序日期。
文件(F:\WINNT\inf\oem10.inf)没有经过数字签名,忽略驱动程序日期。
[2003/03/01 16:42:16 1340.14]
为 打印机 安装了一个没有签署的或签署得不正确的驱动程序(f:\winnt\inf\oem10.inf)。错误 0x800b0003: 某种结构错误。
正在将文件 \\Sxf\FaxPrinterDriver1.0\vprinter.dll 复制到 F:\WINNT\System32\spool\DRIVERS\W32X86\vprinter.dll。
为 打印机 安装了一个没有签署的或签署得不正确的驱动程序(\\Sxf\FaxPrinterDriver1.0\vprinter.dll)。错误 0x800b0003: 某种结构错误。
正在将文件 \\Sxf\FaxPrinterDriver1.0\vprinter.GPD 复制到 F:\WINNT\System32\spool\DRIVERS\W32X86\vprinter.GPD。
为 打印机 安装了一个没有签署的或签署得不正确的驱动程序(\\Sxf\FaxPrinterDriver1.0\vprinter.GPD)。错误 0x800b0003: 某种结构错误。
正在将文件 \\Sxf\FaxPrinterDriver1.0\vprproc.dll 复制到 F:\WINNT\System32\spool\PRTPROCS\W32X86\vprproc.dll。
为 打印机 安装了一个没有签署的或签署得不正确的驱动程序(\\Sxf\FaxPrinterDriver1.0\vprproc.dll)。错误 0x800b0003: 某种结构错误。
正在将文件 \\Sxf\FaxPrinterDriver1.0\copier.ex_ 复制到 F:\WINNT\copier.exe。
为 打印机 安装了一个没有签署的或签署得不正确的驱动程序(\\Sxf\FaxPrinterDriver1.0\copier.ex_)。错误 0x800b0003: 某种结构错误。
differ1 2003-02-27
  • 打赏
  • 举报
回复
学习收藏
Gladstone 2003-02-27
  • 打赏
  • 举报
回复
我有一个这样的例程,安装自己的一个产品,inf文件是自己提供,不具有普遍性,但或许对你有
些帮助。如需请与我联系 wjx@3ming.net
baoqingfeng 2003-02-21
  • 打赏
  • 举报
回复
我现在有一个inf文件。我想通过程序安装这个驱动程序,我试了几个办法都搞不定;下面是我试过的现象或尝试:
1.点鼠标右健安装没反应,好像不成功硬件列表中没有
2.控制面板中添加新硬件形式可以添加到硬件列表中
3.我想通过SetupCopyOEMInfo的方式安装也没反应。
4.我要实现的功能是:--选择这个驱动文件--〉调用这个驱动文件---〉弹出微软的数字签名信息(是否继续安装)--〉用户选择--〉安装成功。
5.我在调用这个驱动文件---〉弹出微软的数字签名信息这一步卡住了。
请大虾们指教。
demetry 2003-02-21
  • 打赏
  • 举报
回复
学习
kingzai 2003-02-21
  • 打赏
  • 举报
回复
上面的程序是实现自动安装驱动程序的代码,SYS文件是用DDK开发的驱动文件。
zhuwenzheng 2003-02-21
  • 打赏
  • 举报
回复
什么反映没有啊,我只把INF文件添加了,SYS文件没有加到INSTALLSHIELD中,有关系吗?我的系统是WIN2000
kingzai 2003-02-21
  • 打赏
  • 举报
回复
函数 function UKey1000_Installed()
最后加上一个end,
installshield使用的是VB的语法,即begin 和end对应,警告可以不用管。
还有什么问题,直接找我本人
zhuwenzheng 2003-02-21
  • 打赏
  • 举报
回复
Compiling...
Folder: <G:\Bluetooth Mouse\复件 Bluetooth mouse\Script Files>
Setup.Rul(29): warning W7507: 'BYREF' assumed for string parameter to dll function call (performance warning)
Setup.Rul(36): warning W7507: 'BYREF' assumed for string parameter to dll function call (performance warning)
ComponentEvents.rul(29): warning W7511: 'GetSupportDir' : string literal passed as BYREF, change prototype to use BYVAL
ComponentEvents.rul(37): warning W7511: 'GetWinDir' : string literal passed as BYREF, change prototype to use BYVAL
ComponentEvents.rul(38): warning W7511: 'GetWinDir' : string literal passed as BYREF, change prototype to use BYVAL
ComponentEvents.rul(52): error C8079: 'end' : invalid statement
Setup.Rul(240): error C8013: unexpected end of source file
Done- 2 error(s), 5 warning(s)
kingzai 2003-02-21
  • 打赏
  • 举报
回复
you should add headfile in setup.rul
// your DLL function prototypes
prototype BOOL setupapi.SetupCopyOEMInfA(STRING
,LPSTR
,NUMBER,NUMBER,LPSTR
,NUMBER,NUMBER,POINTER
);

prototype BOOL kernel32.DeleteFileA(
STRING // file name
);

// ---- script function prototypes -----
///////////////////////////////////////////////
It support all platform,also support win2000
zhuwenzheng 2003-02-21
  • 打赏
  • 举报
回复
to kingzai():
编译说SetupCopyOEMInfA没定义,另外好象不支持WIN2000的安装
zhuwenzheng 2003-02-21
  • 打赏
  • 举报
回复
up
kingzai 2003-02-20
  • 打赏
  • 举报
回复
i have done it by using installshield.
//install inf.
function UKey1000_Installed()
NUMBER nvResult;
STRING svResult;
STRING szDllName;
LPSTR szBuf;
NUMBER size;
BOOL bCopy;
BOOL bDelete;
begin
//////////////////////////////////////////////
GetSystemInfo (OS,nvResult,svResult); //Get system Operation system type
//Disable the component that not for windowsNT or Win2000
if (nvResult = IS_WINDOWSNT) then
// XCopyFile (SUPPORTDIR^"xx.inf",WINDIR^"inf",COMP_NORMAL|LOCKEDFILE);
szDllName = WINSYSDIR^"setupapi.dll";
UseDLL(szDllName);
bCopy =SetupCopyOEMInfA(SUPPORTDIR^"xx.inf",NULL,0,8,NULL,0,0,NULL) ;
UnUseDLL(szDllName);
endif;
if (nvResult = IS_WINDOWS9X) then
bCopy=XCopyFile (SUPPORTDIR^"xxx.sys",WINDIR^"system32\\drivers",COMP_NORMAL|LOCKEDFILE);
bCopy=XCopyFile (SUPPORTDIR^"UKEY.inf",WINDIR^"inf",COMP_NORMAL|LOCKEDFILE);
szDllName = WINSYSDIR^"kernel32.dll";
UseDLL(szDllName);
DeleteFileA(WINDIR^"Inf\\Drvidx.bin");
bDelete =DeleteFileA(WINDIR^"Inf\\Drvdata.bin");
UnUseDLL(szDllName);
endif;
zhuwenzheng 2003-02-20
  • 打赏
  • 举报
回复
to demetry(大松):
没什么东东啊
demetry 2003-02-20
  • 打赏
  • 举报
回复
请看“VC++ 资源”版块FAQ,“IDE”小类
qrlvls 2003-02-20
  • 打赏
  • 举报
回复
学习
rockroll 2003-02-20
  • 打赏
  • 举报
回复
打包以后安装
呵呵
同我的问题有些相近
http://expert.csdn.net/Expert/topic/1448/1448179.xml?temp=.8429071
zhuwenzheng 2003-02-20
  • 打赏
  • 举报
回复
哎,驱动开发网没这儿热闹,所以希望各位大哥指点一下
加载更多回复(2)

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧