Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

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


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.

↑ Back to the top


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.

↑ Back to the top


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

↑ Back to the top


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.

↑ Back to the top


Keywords: vkball, kb

↑ Back to the top

Article Info
Article ID : 2026219
Revision : 1
Created on : 1/8/2017
Published on : 10/15/2010
Exists online : False
Views : 425