2016-03-07 56 views
0

我有一个名为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文件来实现这一目标?
正如你所看到的驱动程序在[Version]部分硬编码。 如何告诉操作系统为Win7加载不同版本的驱动程序?

回答

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认证。

相关问题