Platform Toolset 141 Download

10/10/2021by admin
-->

This toolset compiles your executable on the target machine, so you can build for any supported architecture. ARM64 support is available in Visual Studio 2017 and later. For information about how to set the target platform configuration, see How to: Configure Visual C Projects to Target 64-Bit, x64 Platforms. I've run into this issue today, and retargeting the solution is not an option. There needs to be a way to install the v141 platform tools for use with Visual studio 2019. The various build tools are not recognized as (Platform Toolset = 'v141').

The Windows Driver Kit (WDK) takes advantage of the MSBuild platform toolset feature to provide tools and libraries that are specific to driver development. The MSBuild platform toolset feature is extensible. The specific version of the platform toolset that you want to use is controlled by an MSBuild property called PlatformToolset. Projects can switch between tools and libraries by setting the PlatformToolset property in the project file.

The Windows Driver Kit (WDK) 8.1 provides the following platform toolsets for driver development.

PlatformToolset (WDK 8.1)Use
WindowsKernelModeDriver8.1For kernel-mode drivers and components.
WindowsUserModeDriver8.1For user-mode drivers and components.
WindowsApplicationForDrivers8.1For any type of application. This platform toolset provides compatibility with the build options used in the Windows Driver Kit (WDK) for Windows 7 (WDK 7.1), and also uses the default settings that are common for development of user-mode applications that interact with drivers. You might use this setting if you are migrating or converting a project that was built using WDK 7.
Visual Studio 2013 (v120)Use for any type of Windows application (default).

The Windows Driver Kit (WDK) 8 provided the following platform toolsets for driver development. This information is provided for reference only.

PlatformToolset (WDK 8)Use
WindowsKernelModeDriver8.0For kernel-mode drivers and components.
WindowsUserModeDriver8.0For user-mode drivers and components.
WindowsApplicationForDrivers8.0For any type of application. This platform toolset provides compatibility with the build options used in the WDK for Windows 7 (WDK 7.1). You might use this setting if you are migrating or converting a project that was built using WDK 7.
Visual Studio 2012 (v110)Use for any type of Windows application (default).

Note If you create a driver from one of the available Windows driver templates in Visual Studio, the PlatformToolset property is set for you. You can also select the PlatformToolset by using the driver project property page in Visual Studio.Setting the Platform Toolset in Visual Studio

  1. Open the property pages for your driver project. Select and hold (or right-click) the driver project in Solution Explorer and select Properties.
  2. In the property pages for the driver project, select Configuration Properties and then select General.
  3. Select the Platform Toolset property for the project from the drop-down list.

Platform Toolset 141 Download

Example - Setting the PlatformToolset property in a Visual Studio project file (.vcxproj)

The following example shows how the PlatformToolset property is set in the project file.

The ConfigurationType property controls the target extension and the output type for the binary that is being built. Some of the possible values for this property are Application, DynamicLibrary, StaticLibrary, and Utility.

The WDK introduces a new value for this property called Driver to build a kernel-mode driver. If you set this property to Driver, MSBuild will generate a driver file with .sys as its extension. In the example, the PlatformToolset property is set to WindowsKernelModeDriver8.1 to build a kernel-mode driver. WindowsKernelModeDriver8.1 is the only WDK platform toolset that requires the DriverConfigurationType. In this example, the DriverType is set to KMDF.

About the PlatformToolset property for drivers

The PlatformToolset is a set of property sheets, targets, tools, and tasks that work together to extend and modify a platform in order to build drivers or kernel-mode components for that particular platform. For drivers and related components and applications, the PlatformToolset property should be set to WindowsKernelModeDriver8.1, WindowsUserModeDriver8.1, or WindowsApplicationForDrivers8.1 in the project file. These platform toolsets are designed to extend the existing Visual Studio CC++ tool chain compiler and linker with other WDK-specific build tools and target the WDK headers and libraries. The WindowsApplicationForDrivers8.1 toolset provides compatibility with the build option settings that were available in the WDK for Windows 7 (WDK 7.1), and also the default settings that are common for development of user-mode applications that interact with drivers.

The Platform Toolset has the default platform-level settings and targets to build any driver project. You use default switches for build tools such as the compiler or linker, system information such as the INCLUDE or LIBRARY paths for the WDK, and feature settings such as various properties to set when using Unicode or ANSI strings to build a driver project. If you are developing a Windows application for the desktop, do not use the WindowsKernelModeDriver8.1, WindowsUserModeDriver8.1, or WindowsApplicationForDrivers8.1 platform toolset. Instead, use the Visual Studio 2013 (v120) platform toolset.

By default, the PlatformToolset property is Visual Studio 2013 (v120) for both newly created Win32 user mode C++ projects and projects that were converted to Visual Studio 2013. In both cases, the PlatformToolset property is not written to the project file.

When you select one of the platform toolsets for drivers, the following properties are set.

  • ExecutablePath and NativeExecutablePath (PATH)
  • IncludePath (INCLUDE)
  • ReferencePath (LIBPATH)
  • LibraryPath (LIB)
  • SourcePath
  • ExcludedPath

Note When UseEnv is not set to TRUE, PATH, LIB, INCLUDE, LIBPATH will be set from the corresponding property values in the platform toolset. When UseEnv is set to TRUE, as in the old build system, the values from the environment variables for PATH, INCLUDE, LIB, and LIBPATH will be used instead.

Where the WDK installs files that enable the driver-specific platform toolsets

The following table summarizes the places where the WDK installs files to enable the platform toolsets for driver development.

Path variableDescription

$(VCTargetsPath)

By default, $(VCTargetsPath) is defined in the registry as $(MSBuildExtensionsPath)<em><FOLDER><MSBUILDSYNTAXVERSION>)

The version number is included in case a new build process is used for the same platform, which has new syntax and requires a later MSBuild.

The <FOLDER> is the Microsoft.Cpp folder - $(MSBuildExtensionsPath)Microsoft.Cpp4.0v120.

This is called syntax version rather than tools version. It is the assembly version of the first Microsoft.Build.Engine that supports all of the necessary syntax. Microsoft.Cpp indicates the only folder where Visual Studio will look for platforms.

$(VCTargetsPath)Platforms$(Platform)ImportAfter.props

Optional folder that does not normally contain files. You can customize the platform by saving MSBuild format files in this folder. They will be imported at the bottom of the platform settings file, as indicated by the folder that they are currently in. The order in which files are imported from this location is undefined. The files that MSBuild creates are $(VCTargetsPath)Platforms$(Platform)ImportAfterMicrosoft.Cpp.<Platform>.WindowsKernelModeDriver8.1.props and Microsoft.Cpp.<Platform>.WindowsUserModeDriver8.1.props, which import several WDK-specific props files.

$(VCTargetsPath)Platforms$(Platform)PlatformToolsets$(PlatformToolset)</p>

For the WDK:

The $(PlatformToolset) must be set to WindowsKernelModeDriver8.1 for building kernel mode drivers, set to WindowsUserModeDriver8.1 for building user mode drivers, and set to WindowsApplicationForDrivers8.1 for compatibility with the build options used in the Windows 7 WDK (WDK 7).

PlatformToolset Directory

For example, C:Program FilesMSBuildMicrosoft.Cppv4.0v120PlatformsWin32PlatformToolsetsWindowsKernelModeDriver8.1.

The PlatformToolsets directory allows you to add other types of files later – in their own subfolder.

Microsoft.Cpp.$(Platform).$(PlatformToolset).props

Platform Toolset Props file

Imports props files to build a driver. Also imports v120 props file.

Microsoft.Cpp.$(Platform).$(PlatformToolset).targets

Platform Toolset Targets file

Imports target files to build a driver. These files contain <UsingTask> tags to pull in the WDK tasks. This feature also imports v120 targets.

$(WDKContentRoot)build.props

All driver specific props files. These files contain default settings to build a driver.

$(WDKContentRoot)build*.targets

All driver specific targets file. This file identifies the targets to build a driver.

-->

Visual Studio supports multiple platform toolsets. That means it's possible to target operating systems and runtime libraries that aren't supported by the default toolset. For example, by switching the platform toolset, you can use the Visual Studio 2017 C++ compiler to create apps that target Windows XP and Windows Server 2003. You can also use older platform toolsets to maintain binary-compatible legacy code and still take advantage of the latest features of the Visual Studio IDE.

The v142 toolset supplied in Visual Studio 2019 doesn't include support for creating code for Windows XP. Support for Windows XP development by using the Visual Studio 2017 v141_xp toolset is available as an individual component option in the Visual Studio Installer.

Install the Windows XP platform toolset

To get the Visual Studio 2017 platform toolset and components to target Windows XP and Windows Server 2003, run the Visual Studio Installer. When you initially install Visual Studio or when you modify an existing installation, make sure the Desktop development with C++ workload is selected. In the list of optional components for this workload, choose Windows XP support for C++, and then choose Install or Modify.

To get the v141_xp platform toolset and components to target Windows XP and Windows Server 2003, run the Visual Studio Installer. When you initially install Visual Studio, or when you modify an existing installation, make sure the Desktop development with C++ workload is selected. In the Individual components tab, under Compilers, build tools, and runtimes, choose C++ Windows XP Support for VS 2017 (v141) tools [Deprecated], and then choose Install or Modify.

Platform Toolset 141 Download For Windows 10

Platform

Windows XP targeting experience

The Windows XP platform toolset that's included in Visual Studio is a version of the Windows 7 SDK, but it uses the Visual Studio 2017 C++ compiler. It also configures project properties to appropriate default values, for example, the specification of a compatible linker for down-level targeting. Only Windows desktop apps created by using a Windows XP platform toolset can run on Windows XP and Windows Server 2003. Those apps can also run on more recent Windows operating systems.

To target Windows XP

Platform Toolset 141 Download Mobile

  1. In Solution Explorer, open the shortcut menu for your project, and then choose Properties.

  2. In the Property Pages dialog box for the project, select Configuration Properties > General. Set the Platform Toolset property to your preferred Windows XP toolset. For example, choose Visual Studio 2017 - Windows XP (v141_xp) to create code for Windows XP and Windows Server 2003 by using the Microsoft C++ compiler in Visual Studio 2017.

C++ runtime support

Along with the Windows XP platform toolset, several libraries include runtime support for Windows XP and Windows Server 2003. These libraries are: the C Runtime Library (CRT), C++ Standard Library, Active Template Library (ATL), Concurrency Runtime Library (ConCRT), Parallel Patterns Library (PPL), Microsoft Foundation Class Library (MFC), and C++ AMP (C++ Accelerated Massive Programming) library. For these operating systems, the minimum supported versions are: Windows XP Service Pack 3 (SP3) for x86, Windows XP Service Pack 2 (SP2) for x64, and Windows Server 2003 Service Pack 2 (SP2) for both x86 and x64.

These libraries are supported by the platform toolsets installed by Visual Studio, depending on the target:

Platform Toolset V141 Download

LibraryDefault platform toolset targeting Windows desktop appsDefault platform toolset targeting Store appsWindows XP platform toolset targeting Windows XP, Windows Server 2003
CRTXXX
C++ Standard LibraryXXX
ATLXXX
ConCRT/PPLXXX
MFCXX
C++ AMPXX

Note

Apps that are written in C++/CLI and target the .NET Framework 4 run on Windows XP and Windows Server 2003.

Differences between the toolsets

Because of differences in platform and library support, the development experience for apps that use a Windows XP platform toolset isn't as complete as for apps that use the default Visual Studio platform toolset.

  • C++ language features

    Only C++ language features implemented in Visual Studio 2012 are supported in apps that use the v110_xp platform toolset. Only C++ language features implemented in Visual Studio 2013 are supported in apps that use the v120_xp platform toolset. Only C++ language features implemented in Visual Studio 2015 are supported in apps that use the v140_xp platform toolset. Only C++ language features implemented in Visual Studio 2017 are supported in apps that use the v141_xp platform toolset. Visual Studio uses the corresponding compiler when it builds using the older platform toolsets. Use the most recent Windows XP platform toolset to take advantage of additional C++ language features implemented in that version of the compiler.

  • Remote debugging

    Remote Tools for Visual Studio doesn't support remote debugging on Windows XP or Windows Server 2003. To debug an app locally or remotely on Windows XP or Windows Server 2003, use a debugger from an older version of Visual Studio. It's similar to debugging an app on Windows Vista, which is a runtime target of the platform toolset, but not a remote debugging target.

  • Static analysis

    The Windows XP platform toolsets don't support static analysis because the SAL annotations for the Windows 7 SDK and the runtime libraries are incompatible. You can still perform static analysis on an app that supports Windows XP or Windows Server 2003. Temporarily switch the solution to target the default platform toolset for the analysis, and then switch back to the Windows XP platform toolset to build the app.

  • Debugging of DirectX graphics

    Because the Graphics Debugger doesn't support the Direct3D 9 API, it can't be used to debug apps that use Direct3D on Windows XP or Windows Server 2003. However, if the app implements an alternative renderer based on Direct3D 10 or Direct3D 11 APIs, you can use the Graphics Debugger to diagnose problems.

  • Building HLSL

    The Windows XP toolset doesn't compile HLSL source code files by default. To compile HLSL files, download and install the June 2010 DirectX SDK, and then set the project's VC directories to include it. For more information, see the 'DirectX SDK Does Not Register Include/Library Paths with Visual Studio 2010' section of the June 2010 DirectX SDK download page (Archived link).

Comments are closed.