Настройка программ для Windows XP

Visual Studio поддерживает несколько наборов инструментов платформы. Это означает, что можно использовать операционные системы и библиотеки среды выполнения, которые не поддерживаются набором инструментов по умолчанию. Например, путем переключения набора инструментов платформы вы можете использовать компилятор Visual Studio 2017 C++, чтобы создавать приложения для Windows XP и Windows Server 2003. Вы также можете применять наборы инструментов для старых платформ, чтобы обеспечивать совместимость прежнего кода на двоичном уровне, пользуясь при этом последними возможностями интегрированной среды разработки Visual Studio.

Набор инструментов, поставляемый в Visual Studio 2019 и более поздних версий, не поддерживает создание кода для Windows XP. Поддержка разработки для Windows XP доступна через набор инструментов Visual Studio 2017 v141_xp. Набор инструментов v141_xp можно установить как отдельный компонент в Visual Studio Installer.

Установка набора инструментов платформы Windows XP

Чтобы получить набор инструментов платформы Visual Studio 2017 и компоненты для Windows XP и Windows Server 2003, запустите Visual Studio Installer. При первоначальной установке Visual Studio или при изменении существующей установки убедитесь, что выбрана рабочая нагрузка Разработка классических приложений на C++ . В списке дополнительных компонентов для этой рабочей нагрузки выберите Поддержка Windows XP для C++ , а затем Установить или Изменить.

Чтобы получить набор инструментов платформы v141_xp и компоненты для Windows XP и Windows Server 2003, запустите Visual Studio Installer. При первоначальной установке Visual Studio или при изменении существующей установки убедитесь, что выбрана рабочая нагрузка Разработка классических приложений на C++ . На вкладке "Отдельные компоненты" в разделе "Компиляторы", средства сборки и среды выполнения выберите средства поддержки C++ Windows XP для средств VS 2017 (версия 141) [не рекомендуется], а затем нажмите кнопку "Установить или изменить".

Нацеливание на Windows XP

Набор инструментов для платформы Windows XP, включенный в Visual Studio, является версией пакета SDK для Windows 7, но использует текущий компилятор Visual Studio 2017 C++. Он также присваивает свойствам проекта соответствующие значения по умолчанию. Например, он задает спецификацию совместимого компоновщика для нисходящего нацеливания. В Windows XP и Windows Server 2003 могут работать только классические приложения Windows, созданные с помощью набора средств платформы Windows XP. Эти приложения также могут работать в более новых операционных системах Windows.

Нацеливание на Windows XP

  1. В обозревателе решений откройте контекстное меню своего проекта и выберите пункт Свойства.

  2. В диалоговом окне Страницы свойств в раскрывающемся списке Конфигурация выберите пункт Все конфигурации.

  3. Перейдите на страницу свойств Свойства конфигурации>Общие. Задайте в качестве значения свойства Набор инструментов платформы нужный набор инструментов Windows XP. Например, выберите Visual Studio 2017 — Windows XP (v141_xp), чтобы создать код для Windows XP и Windows Server 2003 с помощью компилятора Microsoft C++ в Visual Studio 2017.

Поддержка среды выполнения C++

Помимо набора инструментов платформы Windows XP, несколько библиотек включают поддержку среды выполнения для Windows XP и Windows Server 2003:

  • Универсальная библиотека времени выполнения C (UCRT)
  • стандартная библиотека C++
  • Библиотека шаблонных классов (ATL)
  • Библиотека среды выполнения параллелизма (ConcRT)
  • Библиотека параллельных шаблонов
  • Библиотека Microsoft Foundation Class (MFC)
  • Библиотека C++ AMP (C++ Accelerated Massive Programming).

Поддерживаются следующие минимальные версии этих операционных систем: Windows XP с пакетом обновления 3 (SP3) для x86, Windows XP с пакетом обновления 2 (SP2) для x64 и Windows Server 2003 c пакетом обновления 2 (SP2) как для x86, так и для x64.

Эти библиотеки поддерживаются наборами инструментов платформ, устанавливаемыми вместе с Visual Studio, в зависимости от целевой платформы:

Библиотека Набор инструментов платформы по умолчанию для классических приложений Windows Набор инструментов платформы по умолчанию для приложений Store Набор инструментов платформы Windows XP для Windows XP и Windows Server 2003
CRT - библиотека X X X
стандартная библиотека C++ X X X
ATL X X X
ConcRT/PPL X X X
MFC X X
C++ AMP X X

Примечание.

Приложения, написанные на C++/CLI и предназначенные для платформы .NET Framework 4, выполняются в Windows XP и Windows Server 2003.

Различия между наборами инструментов

Из-за различий в поддержке платформ и библиотек процесс разработки приложений с помощью набора инструментов платформы Windows XP не так многофункционален, как в случае с приложениями, использующими набор инструментов платформы по умолчанию.

  • Возможности языка C++

    В приложениях, использующих набор инструментов платформы v141_xp, поддерживаются только функции языка C++, реализованные в Visual Studio 2017. В приложениях, использующих набор инструментов платформы v140_xp, поддерживаются только функции языка C++, реализованные в Visual Studio 2015. При сборке с помощью более старых наборов инструментов платформы среда Visual Studio использует соответствующий компилятор. Выберите более новый набор инструментов платформы Windows XP, чтобы воспользоваться реализованными в этой версии компилятора последними возможностями C++. Дополнительные сведения о поддержке функций языка версиями компилятора см. в статье Соответствие стандартам языка Microsoft C/C++.

  • Удаленная отладка

    Удаленная отладка для Windows XP или Windows Server 2003 не поддерживается Инструментами удаленной отладки для Visual Studio. Для локальной или удаленной отладки приложения, выполняющегося в Windows XP или Windows Server 2003, можно использовать отладчик из более ранней версии Visual Studio. Ситуация здесь схожа с отладкой приложений в Windows Vista: Vista является целевой средой выполнения для набора инструментов платформы, но не целевым объектом удаленной отладки.

  • Статический анализ

    Наборы инструментов платформы Windows XP не поддерживают статический анализ. Аннотации SAL для Windows 7 SDK и библиотек среды выполнения несовместимы. Вы по-прежнему можете выполнять статический анализ в приложении, которое поддерживает Windows XP или Windows Server 2003. Вы можете временно переключиться на набор инструментов платформы по умолчанию для анализа решения, а затем вернуться к набору инструментов платформы Windows XP для сборки приложения.

  • Отладка графики DirectX

    Отладчик графики не поддерживает API Direct3D 9. С его помощью нельзя выполнять отладку приложений, которые используют Direct3D в Windows XP или Windows Server 2003. Однако если в приложении реализован альтернативный отрисовщик на основе API Direct3D 10 или Direct3D 11, с помощью отладчика графики можно диагностировать проблемы.

  • Сборка HLSL

    По умолчанию набор инструментов Windows XP не компилирует файлы с исходным кодом HLSL. Для компиляции файлов HLSL загрузите и установите пакет SDK DirectX за июнь 2010 года, а затем включите его в каталоги VC проекта. Дополнительные сведения см. в разделе "Пакет SDK DirectX не регистрирует пути включения и пути к библиотекам в Visual Studio 2010" на странице загрузки пакета SDK DirectX за июнь 2010 года (архивная ссылка).

Развертывание Windows XP

Внимание

Из-за отсутствия поддержки сертификата для подписи кода SHA-256 поддержка библиотеки среды выполнения для Windows XP больше не доступна в последнем Распространяемом компоненте Visual C++ для Visual Studio 2015, 2017, 2019 и 2022. Последний Распространяемый компонент для поддержки Windows XP поставлялся в Visual Studio 2019 версии 16.7. Используйте Распространяемый компонент с версией файла, начиная с 14.27. Если приложения Windows XP развернуты или обновлены до более поздней версии распространяемого компонента, приложения не будут работать.

Если вы используете версию Visual Studio после 2019 16.7, распространяемые файлы не будут работать в Windows XP. Чтобы получить копию распространяемых файлов, поддерживающих Windows XP, потребуется учетная запись Visual Studio. Используйте учетную запись, с которой вы входите в Visual Studio. Вы также можете создать учетную запись бесплатно на сайте my.visualstudio.com. Распространяемый файл доступен в разделе "Загрузки" как Распространяемый компонент Visual C++ для Visual Studio2019, версия 16.7. Чтобы скачать файлы, выберите необходимую платформу и язык, а затем нажмите кнопку "Скачать".

Чтобы установить поддержку библиотеки среды выполнения для приложения Windows XP, можно использовать центральное или локальное развертывание. Дополнительные сведения см. в статье Пошаговое руководство. Развертывание приложения Visual C++ с помощью распространяемого пакета Visual C++.