如何根据操作系统安装不同的驱动程序版本?

时间:2016-03-07 09:43:53

标签: windows driver inf

我有一个名为silabser.sys的驱动程序。我有两个不同的版本。 我的要求是在WinXP上安装w1.x1.y1.z1,在Win7上安装w1.x2.y2.z2。 我的Inf文件如下所示:

[Version]
Signature="$WINDOWS NT$"
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Provider=%Provider%
DriverVer=12/10/2012,6.6.1.0
CatalogFile=slabvcp_ncr.cat}

[Manufacturer]
%MfgName%=SiLabs, NTamd64

.....

[SourceDisksNames.x86]
1=%Disk_Description%,"silabser.sys",,\x86

[SourceDisksNames.amd64]
1=%Disk_Description%,"silabser.sys",,\x64

是否可以通过inf文件实现此目的?
如您所见,DriverVer在 [Version] 部分中进行了硬编码。 如何告诉操作系统为Win7加载不同版本的驱动程序?

1 个答案:

答案 0 :(得分:0)

您可以这样做,您需要格式化INF以支持多个操作系统。看看this entry in MSDN, it points to an example INF in the WDK

您可以将特定的silabser.sys文件放在INF文件旁边的子目录中(即.\win7\silabser.sys.\xp\silabser.sys)。然后,您需要创建指向包中正确的驱动程序位置的DriverInstall_XPDriverInstall_Win7部分。

使用目录结构来支持您的版本将允许您重新验证驱动程序使用和INF仅通过WHQL更新(Silabs帮助),因为您还没有重命名它,这是一个更容易和更便宜的选项。如果您要重命名SYS文件,则必须再次通过完整的WHQL认证。