Application Compatibility: Windows Vista 64-Bit
Windows Vista 64-bit
Feature Impact
High
Brief Description
Windows Vista® and Windows Server® 2008 fully support the 64-bit architecture processors from AMD and Intel. The 64-bit version of Windows Vista and Windows Server 2008 can run all 32-bit applications with the help of the WOW64 emulator. However, the kernel does not support 16-bit applications, 32-bit installers, and 32-bit kernel mode drivers.
All 64-bit drivers have to be digitally signed for Windows Vista and Windows Server 2008 64-bit editions. Unsigned drivers are not supported and cannot be installed on 64-bit Windows Vista and Windows Server 2008. The digital signature check is done during both installation and driver load time.
Manifestation
Applications or components that use 16-bit executables, 16-bit installers, or 32-bit kernel drivers will either fail to start or will function improperly on a 64-bit edition of Windows Vista and Windows Server 2008. In this case, the following error message is displayed:
The program or feature "[exepath]\[app16bit].exe" cannot start or run due to incompatibility with 64-bit versions of Windows. Please contact the software vendor to ask if a 64-bit Windows compatible version is available.
When a 16-bit installer or application is launched, the following error message is displayed:
The version of this file is not compatible with the version of Windows you're running. Check your computer's system information to see whether you need an x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher.
Installation of 32-bit kernel drivers will fail on the 64-bit system. If an installer manually adds a driver by editing the registry, the system will not load this driver, which could cause the system to fail.
Installation of 64-bit unsigned drivers will fail on the 64-bit system. If an installer manually adds a driver by editing the registry, the system will not load the driver during load time if it is not signed.
Remedies
Leverage new capability:
All 16-bit components should be removed from applications and replaced with 32-bit or 64-bit equivalents.
All 16-bit installers should be converted to 32-bit or 64-bit installers.
If the application uses kernel mode drivers, a 64-bit version of the driver needs to be authored. The application should detect the platform of the OS (32-bit or 64-bit) and then install the proper architecture of the driver based on the OS platform.
Ensure that all 64-bit drivers are digitally signed.
Compatibility test:
- Install and launch the application on a 32-bit and a 64-bit Windows Vista and Windows Server 2008 computer. The application should function properly on both architectures.
Links to Other Resources
Digital Signatures for Kernel Modules on x64-based Systems Running Windows Vista
Kernel Mode Code Signing in x64 Windows Vista