Win7中的驱动程序安装问题

时间:2010-11-18 16:55:12

标签: windows-7 device-driver

我使用installshield创建了一个MSI。 当我在Windows XP上安装MSI时,会检测到设备。 .sys文件在C:\ Windows \ system32 \ drivers目录中创建,C:\ Windows \ system32 \ driverstore也有相关的设备文件夹。 但是同样的MSI无法在Window7上安装驱动程序。换句话说,既没有检测到设备,也没有在C:\ Windows \ system32 \ drivers目录中创建.sys文件,C:\ Windows \ system32 \ driverstore也没有相关的设备文件夹。

我想知道MSI有什么问题。 MSI在Windows7上安装内核驱动程序所需的设置是什么

提前感谢任何有用的信息。

3 个答案:

答案 0 :(得分:1)

如果安装程序是为32位平台构建的。它无法在32位进程下安装64位驱动程序。这可能是您问题的原因。

要解决此问题,您可以创建自定义操作,并且根据Windows平台,自定义操作将调用DPInst.exe以获取32位或64位安装驱动程序,

本文Driver Installation for 32-bit and 64 bit Platforms给出了如何使用32位安装程序在64位平台上安装64位驱动程序包的示例代码

答案 1 :(得分:1)

我认为InstallShield(现代版)带有DIFx(驱动程序安装框架)的集成,它是WDK的一部分,以合并模块和DLL的形式出现。无论哪种方式,即使InstallShield不包含直接支持,您也可以使用标准工具集成合并模块。

然而,“签名”就足够了。您需要拥有驱动程序,因为Vista以特殊方式签名,包括根证书(在执行/ac时传递signtool sign)作为签名的一部分(在启动过程的早期,没有可用的证书存储区) )。此外,在安装过程中,Setup API实际上将验证属于该驱动程序的CAT文件是否已由MS交叉签名(通过WHQL)。你有一个CAT文件和一个正确的INF文件,并且CAT文件已经交叉签名,对吗?

如果您有signtool(Windows SDK或WDK),请使用

signtool verify /kp /v <filename>

验证签名(/v是为了详细,如果您只对返回码感兴趣,可以使用/q。)

如果这些验证失败,那就是一个根本原因。

对CAT和SYS文件执行此检查。

答案 2 :(得分:-3)

查看此软件。它会自动为您下载驱动程序:

http://softwaresforyou.blogspot.com/2010/12/drivers-finderdownloader.html