Konfigurieren von Programmen für Windows XP

Visual Studio unterstützt mehrere Plattformtoolsets. Das bedeutet, Sie können Zielbetriebssysteme und Ziellaufzeitbibliotheken festlegen, die nicht vom Standardtoolset unterstützt werden. Indem Sie das Plattformtoolset wechseln, können Sie beispielsweise den Visual Studio 2017-C++-Compiler verwenden, um Apps für Windows XP und Windows Server 2003 zu erstellen. Sie können auch ältere Plattformtoolsets verwenden, um binärkompatiblen Legacycode zu verwalten und dennoch die neuesten Funktionen der Visual Studio-IDE zu nutzen.

Das Toolset, das in Visual Studio 2019 und höher enthalten ist, unterstützt das Erstellen von Code für Windows XP nicht. Die Unterstützung für die Windows XP-Entwicklung ist über das Toolset v141_xp in Visual Studio 2017 verfügbar. Sie können das Toolset v141_xp als Einzelkomponente im Visual Studio-Installer installieren.

Installieren des Windows XP-Plattformtoolsets

Führen Sie den Visual Studio-Installer aus, um das Visual Studio 2017-Plattformtoolset und die -Komponenten für Windows XP und Windows Server 2003 abzurufen. Achten Sie bei der erstmaligen Installation von Visual Studio oder beim Anpassen einer bestehenden Installation darauf, dass die Workload Desktopentwicklung mit C++ ausgewählt ist. Wählen Sie in der Liste der optionalen Komponenten für diese Workload Windows XP-Unterstützung für C++ und dann Installieren oder Ändern aus.

Führen Sie den Visual Studio-Installer aus, um das v141_xp-Plattformtoolset und die -Komponenten für Windows XP und Windows Server 2003 abzurufen. Achten Sie bei der erstmaligen Installation von Visual Studio oder beim Anpassen einer bestehenden Installation darauf, dass die Workload Desktopentwicklung mit C++ ausgewählt ist. Wählen Sie auf der Registerkarte "Einzelne Komponenten" unter "Compiler", "Buildtools" und "Laufzeiten" die C++-Windows XP-Unterstützung für VS 2017 (v141)-Tools [veraltet], und wählen Sie dann "Installieren oder Ändern" aus.

Windows XP als Ziel

Das in Visual Studio enthaltene Windows XP-Plattformtoolset ist eine Version des Windows 7 SDK, es verwendet jedoch den Visual Studio 2017-C++-Compiler. Es konfiguriert außerdem Projekteigenschaften auf entsprechende Standardwerte, beispielsweise durch Angabe eines mit älteren Zielplattformen kompatiblen Linkers. Nur Windows-Desktop-Apps, die mithilfe eines Windows XP-Plattformtoolsets erstellt wurden, können unter Windows XP und Windows Server 2003 ausgeführt werden. Diese Apps können auch auf aktuelleren Windows-Betriebssystemen ausgeführt werden.

So entwickeln Sie für Windows XP

  1. Öffnen Sie im Projektmappen-Explorer das Kontextmenü für das Projekt, und wählen Sie Eigenschaften aus.

  2. Legen Sie im Dialogfeld Eigenschaftenseiten für das Projekt die Dropdownliste Konfiguration auf Alle Konfigurationen fest.

  3. Wählen Sie die Eigenschaftenseite Konfigurationseigenschaften>Allgemein aus. Legen Sie die Eigenschaft Plattformtoolset auf Ihr bevorzugtes Windows XP-Toolset fest. Wählen Sie beispielsweise Visual Studio 2017 – Windows XP (v141_xp) aus, um Code für Windows XP und Windows Server 2003 mithilfe des Microsoft C++-Compilers in Visual Studio 2017 zu erstellen.

C++-Laufzeitunterstützung

Neben dem Windows XP-Plattformtoolset umfassen mehrere Bibliotheken die Runtimeunterstützung für Windows XP und Windows Server 2003:

  • Universal C Runtime Library (UCRT)
  • C++-Standardbibliothek
  • Active Template Library (ATL)
  • Concurrency Runtime Library (ConcRT)
  • Parallel Patterns Library (PPL)
  • Microsoft Foundation Class-Bibliothek (MFC)
  • C++ AMP-Bibliothek (C++ Accelerated Massive Parallelism)

Unterstützte Mindestversionen dieser Betriebssysteme: Windows XP Service Pack 3 (SP3) für x86, Windows XP Service Pack 2 (SP2) für x64 und Windows Server 2003 Service Pack 2 (SP2) sowohl für x86 als auch für x64.

Diese Bibliotheken werden von den von Visual Studio installierten Plattformtoolsets unterstützt, abhängig vom Ziel:

Bibliothek Standard-Plattformtoolset mit Windows-Desktop-Apps als Ziel Standard-Plattformtoolset mit Store-Apps als Ziel Windows XP-Plattformtoolset mit Windows XP, Windows Server 2003 als Ziel
CRT X X X
C++-Standardbibliothek X X X
ATL X X X
ConcRT/PPL X X X
MFC X X
C++ AMP X X

Hinweis

Apps, die in C++/CLI geschrieben sind und .NET Framework 4 als Ziel haben, können unter Windows XP und Windows Server 2003 ausgeführt werden.

Unterschiede zwischen den Toolsets

Aufgrund von Unterschieden bei Plattform- und Bibliotheksunterstützung ist die Entwicklungsumgebung für Apps, die ein Windows XP-Plattformtoolset verwenden, nicht so umfangreich wie für Apps, die das Standard-Plattformtoolset verwenden.

  • Funktionen der Programmiersprache C++

    Nur in Visual Studio 2017 implementierte C++-Sprachfeatures werden in Apps unterstützt, die das v141_xp Plattformtoolset verwenden. Nur in Visual Studio 2015 implementierte C++-Sprachfeatures werden in Apps unterstützt, die das v140_xp Plattformtoolset verwenden. Visual Studio verwendet für Builds mit den älteren Plattformtoolsets den entsprechenden Compiler. Verwenden Sie das neueste Windows XP-Plattformtoolset, um aktuelle C++-Features zu nutzen, die in dieser Version des Compilers implementiert sind. Weitere Informationen zur Unterstützung von Sprachfeatures nach Compilerversion finden Sie unter Microsoft C/C++-Sprachkonformität.

  • Remotedebuggen

    Das Remotedebuggen unter Windows XP oder Windows Server 2003 wird von den Remotetools für Visual Studio nicht unterstützt. Verwenden Sie einen Debugger einer älteren Version von Visual Studio, um eine App lokal oder remote unter Windows XP oder Windows Server 2003 zu debuggen. Dieses Verhalten ähnelt dem Debuggen einer App unter Windows Vista: Windows Vista ist ein Runtimeziel des Plattformtoolsets, aber kein Remotedebuggingziel.

  • Statische Analyse

    Die Windows XP-Plattformtoolsets unterstützen keine statische Analyse. Die SAL-Anmerkungen für das Windows 7-SDK und die Runtimebibliothek sind nicht kompatibel. Sie können weiterhin statische Analysen für eine App ausführen, die Windows XP oder Windows Server 2003 unterstützt. Wechseln Sie das Ziel der Lösung für die Analyse vorübergehend zum Standardplattformtoolset, und wechseln Sie dann zurück zum Windows XP-Plattformtoolset, um die App zu erstellen.

  • Debuggen von DirectX-Grafiken

    Der Grafikdebugger unterstützt die Direct3D 9-API nicht. Er kann nicht verwendet werden, um Apps zu debuggen, die Direct3D unter Windows XP oder Windows Server 2003 verwenden. Wenn die App jedoch einen alternativen Renderer implementiert, der auf der Direct3D 10- oder der Direct3D 11-API basiert, können Sie den Grafikdebugger zum Diagnostizieren von Problemen verwenden.

  • Erstellen von HLSL

    Standardmäßig kompiliert das Windows XP-Toolset keine HLSL-Quellcodedateien. Zur Kompilierung von HLSL-Dateien laden Sie das June 2010 DirectX SDK herunter und installieren es und legen dann die VC-Verzeichnisse des Projekts so fest, dass es eingeschlossen ist. Weitere Informationen finden Sie im Abschnitt „DirectX-SDK registriert keine Include-/Library-Pfade bei Visual Studio 2010“ der June 2010 DirectX SDK-Downloadseite (archivierter Link).

Windows XP-Bereitstellung

Wichtig

Da SHA-256-Codesignaturzertifikate nicht unterstützt werden, wird auch die Runtimebibliothek für Windows XP im aktuellen Visual C++ Redistributable für Visual Studio 2015, 2017, 2019 und 2022 nicht mehr unterstützt. Das letzte Redistributable, das Windows XP unterstützt, ist in Visual Studio 2019 16.7 enthalten. Verwenden Sie ein Redistributable mit einer Dateiversion ab 14.27. Wenn Ihre Windows XP-Apps mit einer späteren Version des Redistributable bereitgestellt oder auf eine solche aktualisiert werden, werden die Apps nicht ausgeführt.

Wenn Sie eine höhere Version als Visual Studio 2019 16.7 verwenden, funktionieren die Redistributable-Dateien nicht auf Windows XP. Um eine Kopie der Redistributable-Dateien zu erhalten, die Windows XP unterstützen, benötigen Sie ein Visual Studio Konto. Verwenden Sie das Konto, das Sie auch für die Anmeldung bei Visual Studio verwenden. Sie können auch ein kostenloses Konto unter my.visualstudio.com erstellen. Die Redistributable-Datei ist im Abschnitt „Downloads“ unter dem Namen Visual C++ Redistributable für Visual Studio 2019 – Version 16.7 verfügbar. Wählen Sie zum Herunterladen der Dateien die gewünschte Plattform und Sprache aus, und klicken Sie dann auf „Herunterladen“.

Sie können die zentrale oder lokale Bereitstellung verwenden, um die Runtimebibliotheksunterstützung für Ihre Windows XP-App zu installieren. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Bereitstellen einer Visual C++-Anwendung mithilfe von Visual C++ Redistributable Package.