INF File Platform Extensions and x64-Based Systems
On Windows Server 2003 Service Pack 1 (SP1) and later, an .ntamd64 platform extension is required on an INF Models section. An .ntamd64 or .nt platform extension is optional on all other sections that support platform extensions.
For sections that support optional platform extensions, Windows selects which section to process, as follows:
Windows checks for a section-name.ntamd64 section and, if one exists, processes it. Windows checks for the .ntamd64 extension in the INF file that is being processed and in any included INF files (that is, any INF files that are included with Include entries).
If a section-name.ntamd64 section does not exist, Windows checks for a section-name.nt section in the INF file or any included INF files. If one exists, Windows processes the section-name.nt section.
If a section-name.nt section does not exist, Windows processes a section-name section that does not include a platform extension.
For testing purposes only, the requirement that an INF Models section name include an .ntamd64 extension can be suppressed. To suppress this requirement, create the following registry value entry under the subkey HKLM\Software\Microsoft\Windows\CurrentVersion\Setup and set this value entry to one:
After setting the DisableDecoratedModelsRequirement value entry to one, restart the system and then install the device.
To restore the platform extension requirement, delete the DisableDecoratedModelsRequirement value entry or set it to zero, and then restart the system.
In general, you cannot use a single INF file that differentiates between device installations that are based on the operating system version. For example, if the files or registry settings that support a device differ between versions of x64-based operating systems, you must create an operating system-specific INF file for each version.
However, if a device does not require an operating system-specific installation, you can create a single cross-operating system INF file for x64-based systems that run Windows XP and later.
Because Windows Server 2003 SP1 and later require an .ntamd64 platform extension on an INF Models section name, but do not require this extension on other section names, the simplest approach to create and to maintain a cross-operating system INF file for x64-based systems is to include the .ntamd64 extension only on the names of Models sections.
To create such a cross-operating system INF file, do the following:
Create a valid INF file that contains the generic entries that are required in all INF files, as described in General Guidelines for INF Files.
Include an INF Manufacturer section that includes a manufacturer-identifier that specifies the INF Models section name for the device and that specifies the .ntamd64 platform extension. For example, the following Manufacturer section specifies an INF Models section name of "AbcModelSection" for an Abc device and the .ntamd64 platform extension.
[Manufacturer] ; The manufacturer-identifier for the Abc device. %ManufacturerName%=AbcModelSection,ntamd64
Include a Models.ntamd64 section whose name matches the Models section name that is specified by the manufacturer-identifier in the Manufacturer section. For example, the following AbcModelSection.ntamd64 section for an Abc device includes a device-description that specifies an install-section-name of "AbcInstallSection."
Include a DDInstall section whose name matches the install-section-name that is specified by the Models section. For example, the device-description in an AbcModelSection section specifies the following AbcInstallSection section for an Abc device.
[AbcInstallSection] ; Install section entries go here. ...
Include other device-specific sections that are required to install the device, but do not include an .ntamd64 platform extension on names of these sections. For more information about INF file sections and directives, see Summary of INF Sections and Summary of INF Directives.
For information about how to create a single cross-operating system INF for all platform types, see Cross-Platform INF Files.