安装自定义的即插即用打印机驱动程序

在 Windows XP 上,即插即用管理器按以下顺序加载驱动程序 (按从高到低列出首选项) :

  1. 签名的 IHV 驱动程序

  2. “内置”驱动程序

  3. 未签名的 IHV 驱动程序

在 Windows 2000 上,内置驱动程序和签名的 IHV 驱动程序之间没有区别:其中任一类型的驱动程序都优先加载,而不是未签名的 IHV 驱动程序。 若要详细了解旨在安装取代“内置”驱动程序的驱动程序和 INF 文件的应用程序,请参阅 编写设备安装应用程序

如果你正在开发取代 Windows 2000 内置驱动程序的驱动程序,请确保 INF 文件的 INF 模型部分中的硬件 ID 包含相应的端口枚举器。 Windows 2000 版本的 Ntprint.inf 在 INF 模型部分的条目中包含端口枚举器。 如果 INF 文件中的相同条目省略端口枚举器,即插即用会优先选择内置 Windows 2000 驱动程序,而不是你的驱动程序。 如果驱动程序替换了 Windows XP 内置驱动程序,则无需在硬件 ID 中包含端口枚举器。

IHV 可以通过在每个模型的 INF 模型部分提供两行来避免在客户端安装中要求用户交互的对话框,如以下示例所示。

; Models section

[OEM Company Name]
"XYZ PScript Printer" = OEMXYZ.PPD, LPTENUM\OEM_Company_NameXYZ_F84F, XYZ_PScript_Printer
"XYZ PScript Printer" = OEMXYZ.PPD, OEM_Company_NameXYZ_F84F, XYZ_PScript_Printer
.
.
.

在此示例中,这两行几乎相同,区别在于在第一行的硬件 ID 中包含总线枚举器 (LPTENUM) 。 在每行中,第二个和第三个条目值分别是硬件 ID 和兼容 ID。 对于通过特定总线安装 (并行端口的打印机,在本例中) ,第一行中的硬件 ID 会生成硬件 ID 匹配,这是最佳匹配项。 对于通过任何其他总线安装的打印机,第二行中的硬件 ID 也会生成硬件 ID 匹配。

在任一情况下,安装程序都不需要用户响应是否安装驱动程序,因此不会显示要求响应的对话框。 但请注意,如果匹配项不是硬件 ID 匹配项,而是 兼容的 ID 匹配项,并且安装发生在客户端,安装程序将显示一个对话框,要求用户交互。