You are unable to install 64-bit storage drivers during Windows setup

Article ID: 2026219 - View products that this article applies to.
Expand all | Collapse all

Symptoms

When installing the 64-bit versions of Windows 7 or Windows Server 2008 R2, Windows Setup may not install the 64-bit version of an add-in storage driver.

For example, on the Where do you want to install Windows? page during Windows Setup, if you click Load Driver, browse to the location of the manufacturer's storage driver, select the driver to be installed, then click Next, the driver appears to be installed successfully.  However, when Windows restarts to complete the installation, the new Windows installation may fail to start with an error message such as a "Stop 7B" error on a blue screen.

The setupapi.dev.log may contain the following error records:

!!! dvi: Class installer: failed(0xe000022d)!
!!! dvi: Error 0xe000022d: The driver selected for this device does not support this version of Windows.

Cause

This problem may occur as the result of how INF file for add-in the storage driver is authored, how Windows Setup parses INF files which contain references to 64-bit drivers, and how the Windows installation media was created.

Windows Setup uses a 32-bit installer to install both 32-bit and a 64-bit Windows versions. If the INF file for your third party storage driver contains both decorated and undecorated Device Driver Installation (DDInstall) sections, the Windows Setup 32-bit installer chooses the first DDInstall section that appears in the INF file.  If the first DDInstall section refers to a 32-bit driver, the 64-bit driver will not be found or installed.  

The 32bit installer is designed to load from a platform decorated section.  During 64bit installation, if both decorated and undecorated sections are present, the installer chooses the first one it finds. 

If the found section refers to a 32bit driver, installation will fail for 64bit installations with error 0xe000022d (ERROR_NON_WINDOWS_NT_DRIVER).  

An OEM (Original Equipment Manufacturer) or system builder may create “Windows Setup Cross-Platform Deployment” custom installation media using a 32-bit version of WinPE (Windows Preinstallation Environment) to install 64-bit versions of Windows. 

Installing a 64-bit version of Windows from such media and installing third-party storage drivers using an INF file that includes undecorated 64-bit DDInstall sections will result in the Symptoms described above.

Resolution

To resolve the issue, remove generic undecorated sections from your INF file such that only the platform decorated sections remain. 

Example:

[Manufacturer]
%Company%=DriverInstall,NTamd64

; [DriverInstall] - <- remove this generic undecorated section

[DriverInstall.NTamd64] ; <- Have only the decorated section

More Information

For more information on installing third-party mass storage drivers for the 64-bit editions of Windows, see the following Microsoft Knowledge Base article:

954701 How to install third-party mass storage drivers for the 64-bit editions of Windows Server 2008 and of Windows Vista
http://support.microsoft.com/kb/954701

As of Windows Vista and Windows Server 2008, you no longer have to press the 'F6' option to load 3rd party storage drivers.  The new simplified selection process relies on the format of the associated storage driver INF files.  The 'F6' (Load Driver) option is still available in the disk selection window however.   

An OEM (Original Equipment Manufacturer) or system builder may create “Windows Setup Cross-Platform Deployment” custom installation media using a 32-bit version of WinPE (Windows Preinstallation Environment) to install 64-bit versions of Windows.

The Windows Automated Installation Kit (AIK) help file states:

You can create a single preinstallation environment by using Windows® Preinstallation Environment (Windows PE) to employ Windows Setup to install both 32-bit and 64-bit versions of Windows. For example, you can use a 32-bit preinstallation environment to deploy both 32-bit versions and 64-bit versions of Windows® 7 and Windows Vista®.

Caution:

The following cross-platform scenarios are not supported:

  • Installing Windows Server® 2008 or Windows Server® 2008 R2 from a 32-bit preinstallation environment.
  • Installing Itanium-based Windows images from a 32-bit preinstallation environment.
  • Deploying any 32-bit Windows image from a 64-bit preinstallation environment.

See Installing Windows Server 2008 R2 (http://technet.microsoft.com/en-us/library/dd379511(WS.10).aspx) for detailed information on how to install Windows Server 2008 Std/Win7 on a 64bit platform.

Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

Properties

Article ID: 2026219 - Last Review: October 15, 2010 - Revision: 1.0
APPLIES TO
  • Windows Server 2008 R2 Standard
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Datacenter
  • Windows 7 Enterprise
  • Windows Server 2008 Standard
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Datacenter
  • Windows Vista Ultimate 64-bit Edition
  • Windows Vista Enterprise 64-bit Edition
  • Windows Vista Business 64-bit Edition
  • Windows Vista Home Premium 64-bit Edition
  • Windows Vista Home Basic 64-bit Edition
Keywords: 
KB2026219

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com