Поделиться через


Только 64-разрядная версия

Затронутые платформы

Серверы — Windows Server 2008 R2

Влияние на функции

Уровень серьезности — низкий
Частота — высокая

Описание

Windows Server 2008 R2 поставляется только с 64-разрядным номером SKU; нет 32-разрядного номера SKU для серверной версии операционной системы. Однако для клиента Windows 7 по-прежнему доступен 32-разрядный номер SKU.

Проявление влияния

Это повлияет на три области:

  • 32-разрядные драйверы
  • 32-разрядные подключаемые модули
  • 16-разрядные исполняемые файлы

Решение для 32-разрядных драйверов

Перекомпилируйте 32-разрядные драйверы как подписанные 64-разрядные драйверы.

Решение для 32-разрядных подключаемых модулей

WoW64, эмулятор x86, позволяет 32-разрядным приложениям Windows легко работать в 64-разрядной версии Windows. WoW64 теперь является дополнительным компонентом, который необходимо установить, если необходимо выполнить 32-разрядный код.

Система изолирует 32-разрядные приложения от 64-разрядных приложений, что включает предотвращение конфликтов файлов и реестров. Поддерживаются консоль, графический интерфейс и приложения-службы. Система обеспечивает взаимодействие через границу 32/64 для таких сценариев, как вырезания и вставки и COM. Однако 32-разрядные процессы не могут загружать 64-разрядные библиотеки DLL, а 64-разрядные процессы не могут загружать 32-разрядные библиотеки DLL. Обычно это можно увидеть в подключаемых модулях оболочки, написанных для Windows Обозреватель.

32-разрядное приложение может определить, выполняется ли оно в WOW64, вызвав функцию IsWow64Process. Приложение может получить дополнительные сведения о процессоре с помощью функции GetNativeSystemInfo.

Обратите внимание, что 64-разрядная версия Windows не поддерживает запуск 16-разрядных приложений windows. Основная причина заключается в том, что дескриптор имеет 32 значимых бита в 64-разрядной версии Windows. Таким образом, дескрипторы не могут быть усечены и переданы в 16-разрядные приложения без потери данных. Попытки запуска 16-разрядных приложений завершаются сбоем со следующей ошибкой: ERROR_BAD_EXE_FORMAT.

Решение для 16-разрядных исполняемых файлов

64-разрядная версия Windows распознает ограниченное количество определенных 16-разрядных программ установщика и заменяет перенесенную 32-разрядную версию. Список подстановок хранится в реестре в следующем разделе: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\NtVdm64 There встроена поддержка нескольких обработчиков установщиков, включая установщики InstallShield 5.x. Обратите внимание, что 64-разрядный установщик Windows может легко устанавливать 32-разрядные приложения на основе MSI в 64-разрядной версии Windows.