Verwenden von Dekorationen in INF-Dateien für Druckertreiber
Wichtig
Die moderne Druckplattform ist die bevorzugte Methode von Windows für die Kommunikation mit Druckern. Wir empfehlen die Verwendung des Microsoft IPP-Treibers für die Posteingangsklasse zusammen mit Print Support Apps (PSA), um das Druckverhalten in Windows 10 und 11 für die Entwicklung von Druckergeräten anzupassen.
Weitere Informationen finden Sie unter Moderne Druckplattform und im Designhandbuch für die Drucksupport-App.
Druckertreiber, die unter Windows Server 2003 mit SP1 und höher oder in der 64-Bit-Version von Windows XP und höher ausgeführt werden, und diese x64-Zielarchitekturen müssen einen dekorierten Abschnitt INF-Modelle enthalten, wie im folgenden Beispiel gezeigt. Da der Treiber jedoch vor Windows Server 2003 mit SP1 als zusätzlicher Treiber auf einer Windows-Version installiert werden kann, muss die INF-Datei auch einen Nicht-InF-Modellabschnitt bereitstellen. Es wird auch empfohlen, Dekorationen zur Installation von Itanium-basierten Treibern zu verwenden.
Die folgenden Beispiele zeigen, wie Sie eine INF-Datei schreiben, die zum Installieren eines Treibers für eine einzelne Prozessorarchitektur verwendet werden kann.
x64-Treiberbeispiel
Im ersten Beispiel wird gezeigt, wie Sie einen nicht ausgestaltete INF-Modelle-Abschnitt verwenden, um einen x64-Treiber auf Windows XP-Versionen oder auf einem x86- oder Itanium-basierten Computer unter Windows XP oder Windows Server 2003 zu installieren. Die NTamd64-Dekoration im zweiten Abschnitt INF-Modelle bewirkt, dass ein x64-Treiber auf einem Computer jeder Prozessorarchitektur installiert wird, die Windows Server 2003 mit SP1 oder höher ausführt.
[MANUFACTURER]
%Acme Corp.% = Acme, NTamd64
...
[Acme]
"Acme LaserWhiz 100 PS" = Acme100_x64.PPD, <hardware IDs and compatible IDs for this printer>
[Acme.NTamd64]
"Acme LaserWhiz 100 PS" = Acme100_x64.PPD, <hardware IDs and compatible IDs for this printer>
Itanium-basiertes Treiberbeispiel
Das nächste Beispiel zeigt, wie ein undekorierter INF-Modellabschnitt verwendet wird, um einen Itanium-basierten Treiber auf Windows-Versionen vor Windows XP oder auf einem x86-Computer mit Windows XP oder Windows Server 2003 vor SP1 zu installieren. Die NTia64-Dekoration im zweiten Abschnitt „INF-Modelle“ bewirkt, dass ein Itanium-basierter Treiber auf einem Computer mit beliebiger Prozessorarchitektur installiert wird, auf dem Windows Server 2003 mit SP1 oder höher ausgeführt wird.
[MANUFACTURER]
%Acme Corp.% = Acme, NTia64
...
[Acme]
"Acme LaserWhiz 100 PS" = Acme100_ia64.PPD, <hardware IDs and compatible IDs for this printer>
[Acme.NTia64]
"Acme LaserWhiz 100 PS" = Acme100_ia64.PPD, <hardware IDs and compatible IDs for this printer>
x86-Treiberbeispiel
Im nächsten Beispiel ist im Abschnitt "INF Models" keine Dekoration erforderlich. Es ist unnötig, die Prozessorarchitektur anzugeben, da ein nicht wirtschaftlicher Abschnitt angenommen wird, um auf einen x86-Treiber zu verweisen. Es ist zulässig, einen ABSCHNITT "INF-Modelle" mit einer NTx86-Dekoration hinzuzufügen, beachten Sie jedoch, dass Sie auch einen nicht wirtschaftlichen INF-Modelle-Abschnitt für Versionen von Windows vor Windows Server 2003 mit SP1 einschließen sollten.
[MANUFACTURER]
%Acme Corp.% = Acme
...
[Acme]
"Acme LaserWhiz 100 PS" = Acme100_x86.PPD, <hardware IDs and compatible IDs for this printer>
Unterstützen mehrerer Architekturen in einer einzelnen INF-Datei
In diesem Abschnitt wird gezeigt, wie Sie eine INF-Datei schreiben, die zum Installieren von Druckertreibern für mehrere Prozessorarchitekturen verwendet werden kann.
Wenn Sie eine INF-Datei erstellen möchten, die zum Installieren von Treibern für mehrere Architekturen verwendet werden kann, schreiben Sie einen ABSCHNITT "INF Models", und erstellen Sie dann so viele Kopien davon, dass jede unterstützte Architektur über einen eigenen Abschnitt "INF Models" verfügt. Fügen Sie die entsprechende Dekoration für jede Prozessorarchitektur zu den resultierenden INF Models-Abschnitten hinzu, wie im folgenden Beispiel gezeigt.
[MANUFACTURER]
%Acme Corp% = Acme, NTamd64, NTia64
...
;; Used to install
;; - a driver of any architecture type, on a machine running Windows 2000
;; - a driver of any architecture type, on an x86 machine running Windows XP or Windows Server 2003
;; - an x86 driver on a machine of any architecture type, running Windows Server 2003 with SP1
[Acme]
%Acme Model 1% = Acme100PS, <hardware IDs and compatible IDs for this printer>
;; Used to install
;; - an x64 driver on a machine of any architecture type, running Windows Server 2003 with SP1
[Acme.NTamd64]
%Acme Model 1% = Acme100PS, <hardware IDs and compatible IDs for this printer>
;; Used to install
;; - a driver of any architecture type, on an Itanium-based machine running Windows XP or Windows Server 2003
;; - an Itanium-based driver on a machine of any architecture type, running Windows Server 2003 with SP1
[Acme.NTia64]
%Acme Model 1% = Acme100PS, <hardware IDs and compatible IDs for this printer>
;; DDInstall Section.
;; This sample assumes that all three versions of the driver
;; use the same DDInstall section.
[Acme100PS]
CopyFiles = MyDriverFile.dll, ...
[DestinationDirs]
DefaultDestDir=66000
[SourceDisksNames.x86]
1= %Location%,,,
[SourceDisksFiles.x86]
MyDriverFile.dll = 1,\i386
...
[SourceDisksNames.amd64]
1= %Location%,,,
[SourceDisksFiles.amd64]
MyDriverFile.dll = 1,\amd64
...
[SourceDisksNames.ia64]
1= %Location%,,,
[SourceDisksFiles.ia64]
MyDriverFile.dll = 1,\ia64
...
[Strings]
Acme Corp = "Acme Corporation"
Acme Model 1 = "Acme LaserWhiz 100 PS"
Location = "Acme CD ROM"