我有一个名为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加载不同版本的驱动程序?
答案 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_XP
和DriverInstall_Win7
部分。
使用目录结构来支持您的版本将允许您重新验证驱动程序使用和INF仅通过WHQL更新(Silabs帮助),因为您还没有重命名它,这是一个更容易和更便宜的选项。如果您要重命名SYS文件,则必须再次通过完整的WHQL认证。