From 0768c37c2a782b4f5e25222eb681265abdfd5817 Mon Sep 17 00:00:00 2001 From: TylerMSFT Date: Mon, 8 Sep 2025 17:18:17 -0700 Subject: [PATCH 1/6] add alt-text --- docs/cpp/cpp-type-system-modern-cpp.md | 3 +-- ...he-windows-10-sdk-in-a-windows-desktop-application.md | 9 ++++----- docs/windows/windows-desktop-wizard.md | 2 ++ 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/cpp/cpp-type-system-modern-cpp.md b/docs/cpp/cpp-type-system-modern-cpp.md index a6245411472..67772c31a07 100644 --- a/docs/cpp/cpp-type-system-modern-cpp.md +++ b/docs/cpp/cpp-type-system-modern-cpp.md @@ -3,7 +3,6 @@ description: "Learn more about: C++ type system" title: "C++ type system" ms.date: 11/04/2022 ms.topic: "concept-article" -ms.assetid: 553c0ed6-77c4-43e9-87b1-c903eec53e80 --- # C++ type system @@ -56,7 +55,7 @@ The compiler recognizes these built-in types, and it has built-in rules that gov The following illustration shows the relative sizes of the built-in types in the Microsoft C++ implementation: -![Diagram of the relative size in bytes of several built in types.](../cpp/media/built-intypesizes.png) +:::image type="content" source="../cpp/media/built-intypesizes.png" alt-text="Diagram showing the relative sizes in bytes of C++ built-in types: bool and char (1 byte), short (2 bytes), int, long, and float (4 bytes), double and long long (8 bytes)"::: The following table lists the most frequently used fundamental types, and their sizes in the Microsoft C++ implementation: diff --git a/docs/windows/how-to-use-the-windows-10-sdk-in-a-windows-desktop-application.md b/docs/windows/how-to-use-the-windows-10-sdk-in-a-windows-desktop-application.md index 80c51d392a9..8998b1d37b4 100644 --- a/docs/windows/how-to-use-the-windows-10-sdk-in-a-windows-desktop-application.md +++ b/docs/windows/how-to-use-the-windows-10-sdk-in-a-windows-desktop-application.md @@ -3,7 +3,6 @@ title: "How to: Use the Windows SDK in a Windows Desktop application" description: "How to set the target SDK version in a Windows Desktop application project to use the latest Windows SDK." ms.custom: "get-started-article" ms.date: "01/22/2020" -ms.assetid: eed6421e-9355-44a6-9582-3f1d453a6d44 --- # How to: Use the Windows SDK in a Windows Desktop application @@ -25,7 +24,7 @@ To retarget your projects to use the latest Windows SDK when you upgrade from a 1. Open the shortcut menu for the project node, and choose **Retarget projects**. (In earlier versions of Visual Studio, choose **Retarget SDK Version**.) The **Review Solution Actions** dialog appears. - ![Review Solution Actions.](../windows/media/retargetingwindowssdk2.PNG "RetargetingWindowsSDK2") + :::image type="content" source="../windows/media/retargetingwindowssdk2.PNG" alt-text="Screenshot of the Review Solution Actions dialog. Target Platform Versions is set to 10.0.10156.0"::: 1. In the **Target Platform Version** dropdown list, choose the version of the Windows SDK you want to target. Generally speaking, we recommend you choose the latest installed version. Choose the **OK** button to apply the change. @@ -37,15 +36,15 @@ To retarget your projects to use the latest Windows SDK when you upgrade from a 1. Open the project properties dialog. In the **Configuration Properties** > **General** section, notice the values of **Windows Target Platform Version**. Changing the value here has the same effect as following this procedure. For more information, see [General Property Page (Project)](../build/reference/general-property-page-project.md). - ![Target Platform property in the Property Pages dialog.](../windows/media/retargetingwindowssdk3.PNG "RetargetingWindowsSDK3") + :::image type="content" source="../windows/media/retargetingwindowssdk3.PNG" alt-text="Screenshot of the Property Pages dialog. Target Platform Version is set to 8.1." lightbox="../windows/media/retargetingwindowssdk3.PNG"::: This action changes the values of project macros that include paths to header files and library files. To see what changed, open the **Visual C++ Directories** section of the **Project Properties** dialog. Select one of the properties, such as **Include Directories**. Then, open the property value's dropdown list, and choose **\**. The **Include Directories** dialog appears. - ![Include Directories dialog box.](../windows/media/retargetingwindowssdk4.PNG "RetargetingWindowsSDK4") + :::image type="content" source="../windows/media/retargetingwindowssdk4.PNG" alt-text="Screenshot of the Include Directories dialog showing paths to Windows SDK includes such as C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/Include." lightbox="../windows/media/retargetingwindowssdk4.PNG"::: Choose the **Macros >>** button, and scroll down the list of macros to the Windows SDK macros to see all the new values. - ![List of Windows SDK Macros.](../windows/media/retargetingwindowssdk5.PNG "RetargetingWindowsSDK5") + :::image type="content" source="../windows/media/retargetingwindowssdk5.PNG" alt-text="Screenshot of the macros dialog showing Windows SDK-related macros and their values. For example, $(windir) is c:/Windows." lightbox="../windows/media/retargetingwindowssdk5.PNG"::: 1. Repeat the retargeting procedure for other solution projects, as needed, and rebuild the solution. diff --git a/docs/windows/windows-desktop-wizard.md b/docs/windows/windows-desktop-wizard.md index f16945a7412..6b57672f3df 100644 --- a/docs/windows/windows-desktop-wizard.md +++ b/docs/windows/windows-desktop-wizard.md @@ -12,6 +12,8 @@ The Windows Desktop Wizard replaces the Win32 Application Wizard in Visual Studi ![Screenshot of the Windows Desktop Project wizard.](media/windows-desktop-wizard.png) +:::image type="content" source="media/windows-desktop-wizard.png" alt-text="Screenshot of the Windows Desktop Project wizard. Application type is set to Console Application (.exe) Precompiled Header and Security Development Lifecycle (SDL) checks are selected."::: + The following table indicates which options are available for each application type. |Type of support|Console application|Executable (Windows) application|Dynamic-link library|Static library| From d6366d7483ac2a7fbceb83ac45bde7ac9d77b1fa Mon Sep 17 00:00:00 2001 From: Tyler Whitney Date: Mon, 8 Sep 2025 18:38:56 -0700 Subject: [PATCH 2/6] deprecation notes for 2026 (#6077) * deprecation notes for 2026 * edits * acrolinx * edits --- docs/build/overview-of-arm-abi-conventions.md | 14 ++++++++------ .../reference/await-enable-coroutine-support.md | 10 ++++++---- docs/build/reference/debug-generate-debug-info.md | 10 +++++----- docs/build/reference/midl-property-pages.md | 4 +++- 4 files changed, 22 insertions(+), 16 deletions(-) diff --git a/docs/build/overview-of-arm-abi-conventions.md b/docs/build/overview-of-arm-abi-conventions.md index 3e61981e84e..5ab221541eb 100644 --- a/docs/build/overview-of-arm-abi-conventions.md +++ b/docs/build/overview-of-arm-abi-conventions.md @@ -2,12 +2,14 @@ description: "Learn more about: Overview of ARM32 ABI Conventions" title: "Overview of ARM ABI Conventions" ms.date: "07/11/2018" -ms.assetid: 23f4ae8c-3148-4657-8c47-e933a9f387de --- # Overview of ARM32 ABI Conventions The application binary interface (ABI) for code compiled for Windows on ARM processors is based on the standard ARM EABI. This article highlights key differences between Windows on ARM and the standard. This document covers the ARM32 ABI. For information about the ARM64 ABI, see [Overview of ARM64 ABI conventions](arm64-windows-abi-conventions.md). For more information about the standard ARM EABI, see [Application Binary Interface (ABI) for the ARM Architecture](https://github.com/ARM-software/abi-aa) (external link). +> [!NOTE] +> Using the Microsoft Visual C++ (MSVC) build tools to target ARM32 is deprecated starting with Visual Studio 2026. If you need to target ARM32, use the Visual Studio 2022 v143 build tools. + ## Base Requirements Windows on ARM always presumes that it's running on an ARMv7 architecture. Floating-point support in the form of VFPv3-D32 or later must be present in hardware. The VFP must support both single-precision and double-precision floating-point in hardware. The Windows runtime doesn't support emulation of floating-point to enable running on non-VFP hardware. @@ -124,7 +126,7 @@ Initialization is performed exactly once, before argument processing begins: For each argument in the list, the first matching rule from the following list is applied: -1. If the argument is a composite type whose size cannot be statically determined by both the caller and the callee, the argument is copied to memory and replaced by a pointer to the copy. +1. If the argument is a composite type whose size can't be statically determined by both the caller and the callee, the argument is copied to memory and replaced by a pointer to the copy. 1. If the argument is a byte or 16-bit half-word, then it is zero-extended or sign-extended to a 32-bit full word and treated as a 4-byte argument. @@ -136,11 +138,11 @@ For each argument in the list, the following rules are applied in turn until the 1. If the argument is a VFP type and there are enough consecutive unallocated VFP registers of the appropriate type, then the argument is allocated to the lowest-numbered sequence of such registers. -1. If the argument is a VFP type, all remaining unallocated registers are marked as unavailable. The NSAA is adjusted upwards until it is correctly aligned for the argument type and the argument is copied to the stack at the adjusted NSAA. The NSAA is then incremented by the size of the argument. +1. If the argument is a VFP type, all remaining unallocated registers are marked as unavailable. The NSAA is adjusted upwards until it's correctly aligned for the argument type and the argument is copied to the stack at the adjusted NSAA. The NSAA is then incremented by the size of the argument. 1. If the argument requires 8-byte alignment, the NCRN is rounded up to the next even register number. -1. If the size of the argument in 32-bit words is not more than r4 minus NCRN, the argument is copied into core registers, starting at the NCRN, with the least significant bits occupying the lower-numbered registers. The NCRN is incremented by the number of registers used. +1. If the size of the argument in 32-bit words isn't more than r4 minus NCRN, the argument is copied into core registers, starting at the NCRN, with the least significant bits occupying the lower-numbered registers. The NCRN is incremented by the number of registers used. 1. If the NCRN is less than r4 and the NSAA is equal to the SP, the argument is split between core registers and the stack. The first part of the argument is copied into the core registers, starting at the NCRN, up to and including r3. The rest of the argument is copied onto the stack, starting at the NSAA. The NCRN is set to r4 and the NSAA is incremented by the size of the argument minus the amount passed in registers. @@ -148,7 +150,7 @@ For each argument in the list, the following rules are applied in turn until the 1. The argument is copied into memory at the NSAA. The NSAA is incremented by the size of the argument. -The VFP registers aren't used for variadic functions, and Stage C rules 1 and 2 are ignored. It means that a variadic function can begin with an optional push {r0-r3} to prepend the register arguments to any additional arguments passed by the caller, and then access the entire argument list directly from the stack. +The VFP registers aren't used for variadic functions, and Stage C rules 1 and 2 are ignored. It means that a variadic function can begin with an optional push {r0-r3} to prepend the register arguments to any other arguments passed by the caller, and then access the entire argument list directly from the stack. Integer type values are returned in r0, optionally extended to r1 for 64-bit return values. VFP/NEON floating-point or SIMD type values are returned in s0, d0, or q0, as appropriate. @@ -158,7 +160,7 @@ The stack must always remain 4-byte aligned, and must be 8-byte aligned at any f Functions that have to use a frame pointer—for example, functions that call `alloca` or that change the stack pointer dynamically—must set up the frame pointer in r11 in the function prologue and leave it unchanged until the epilogue. Functions that don't require a frame pointer must perform all stack updates in the prologue and leave the stack pointer unchanged until the epilogue. -Functions that allocate 4 KB or more on the stack must ensure that each page prior to the final page is touched in order. This order ensures that no code can "leap over" the guard pages that Windows uses to expand the stack. Typically, the expansion is done by the `__chkstk` helper, which is passed the total stack allocation in bytes divided by 4 in r4, and which returns the final stack allocation amount in bytes back in r4. +Functions that allocate 4 KB or more on the stack must ensure that each page before the final page is touched in order. This order ensures that no code can "leap over" the guard pages that Windows uses to expand the stack. Typically, the expansion is done by the `__chkstk` helper, which is passed the total stack allocation in bytes divided by 4 in r4, and which returns the final stack allocation amount in bytes back in r4. ### Red zone diff --git a/docs/build/reference/await-enable-coroutine-support.md b/docs/build/reference/await-enable-coroutine-support.md index 9595a434ffc..6ce254876f8 100644 --- a/docs/build/reference/await-enable-coroutine-support.md +++ b/docs/build/reference/await-enable-coroutine-support.md @@ -1,15 +1,17 @@ --- description: "Learn more about: /await (Enable coroutine support)" title: "/await (Enable coroutine support)" -ms.date: "08/15/2017" +ms.date: 09/08/2025 f1_keywords: ["/await", "-await"] helpviewer_keywords: ["/await enable coroutine support [C++]", "-await enable coroutine support [C++]", "await enable coroutine support [C++]"] -ms.assetid: 302c8e69-09b6-4c58-bcdd-0a6a8713a8df --- -# `/await` (Enable coroutine support) +# `/await` (Enable coroutine support) Deprecated. Use the **`/await`** compiler option to enable compiler support for coroutines. +> [!NOTE] +> The **`/await`** option is deprecated starting with Visual Studio 2026 and will be removed in a future release. Standard C++ coroutines are available by default in C++20 or later. Or use **`/await:strict`** option when using earlier versions of the C++ language. + ## Syntax > **`/await`**\ @@ -19,7 +21,7 @@ Use the **`/await`** compiler option to enable compiler support for coroutines. The **`/await`** compiler option enables compiler support for C++ coroutines and the keywords **`co_await`**, **`co_yield`**, and **`co_return`**. This option is off by default. For information about support for coroutines in Visual Studio, see the [Visual Studio Team Blog](https://devblogs.microsoft.com/cppblog/category/coroutine/). For more information about the coroutines standard proposal, see [N4628 Working Draft, Technical Specification for C++ Extensions for Coroutines](https://wg21.link/n4628). -The **`/await`** option is available beginning in Visual Studio 2015. +The **`/await`** option is available beginning in Visual Studio 2015 and is deprecated starting with Visual Studio 2026. Starting in Visual Studio 2019 version 16.10, the **`/await:strict`** option can be used in place of **`/await`**. The option provides C++20-compatible coroutine support in projects that build in C++14 or C++17 mode. In **`/await:strict`** mode, library support is provided in \ and in the `std` namespace. diff --git a/docs/build/reference/debug-generate-debug-info.md b/docs/build/reference/debug-generate-debug-info.md index 85a515debab..9716f477b56 100644 --- a/docs/build/reference/debug-generate-debug-info.md +++ b/docs/build/reference/debug-generate-debug-info.md @@ -1,7 +1,7 @@ --- description: "Learn more about: /DEBUG (Generate debug info)" title: "/DEBUG (Generate Debug Info)" -ms.date: 10/26/2023 +ms.date: 09/08/2025 f1_keywords: ["VC.Project.VCLinkerTool.GenerateDebugInformation", "/debug"] helpviewer_keywords: ["DEBUG linker option", "/DEBUG linker option", "-DEBUG linker option", "PDB files", "debugging [C++], debug information files", "generate debug info linker option", "pdb files, generating debug info", ".pdb files, generating debug info", "debugging [C++], linker option", "program databases [C++]"] ms.assetid: 1af389ae-3f8b-4d76-a087-1cdf861e9103 @@ -20,7 +20,10 @@ The **`/DEBUG`** option puts the debugging information from linked object and li An executable (an EXE or DLL file) created for debugging contains the name and path of the corresponding PDB. The debugger reads the embedded name and uses the PDB when you debug the program. The linker uses the base name of the program and the extension *`.pdb`* to name the program database, and embeds the path where it was created. To override this default, set the [`/PDB`](pdb-use-program-database.md) option and specify a different file name. -The **`/DEBUG:FASTLINK`** option is available in Visual Studio 2017 and later. This option generates a limited PDB that indexes into the debug information in the object files and libraries used to build the executable instead of making a full copy. You can only use this limited PDB to debug from the computer where the binary and its libraries were built. If you deploy the binary elsewhere, you may debug it remotely from the build computer, but not directly on the test computer. Since Visual Studio 2019, **`/DEBUG:FULL`** linking times have improved significantly, and **`/DEBUG:FASTLINK`** isn't always faster than **`/DEBUG:FULL`**. Since **`/DEBUG:FASTLINK`** no longer provides large build time improvements and results in a slower debugging experience versus **`/DEBUG:FULL`**, this option is no longer recommended. +> [!Note] +> The **`/DEBUG:FASTLINK`** option is **deprecated and removed** starting in Visual Studio 2026. It was available in Visual Studio 2017 through Visual Studio 2022. + +**`/DEBUG:FASTLINK`** generated a limited PDB that indexes into the debug information in the object files and libraries used to build the executable instead of making a full copy. You can only use this limited PDB to debug from the computer where the binary and its libraries were built. If you deploy the binary elsewhere, you may debug it remotely from the build computer, but not directly on the test computer. Since Visual Studio 2019, **`/DEBUG:FULL`** linking times have improved significantly, and **`/DEBUG:FASTLINK`** isn't always faster than **`/DEBUG:FULL`**. Since **`/DEBUG:FASTLINK`** no longer provides large build time improvements and results in a slower debugging experience versus **`/DEBUG:FULL`**, this option is no longer recommended, and is removed in Visual Studio 2026. Prefer using **`/DEBUG:FULL`**. A **`/DEBUG:FASTLINK`** PDB can be converted to a full PDB that you can deploy to a test machine for local debugging. In Visual Studio, use the **Property Pages** dialog as described below to create a full PDB for the project or solution. In a developer command prompt, you can use the `mspdbcmf.exe` tool to create a full PDB. @@ -41,11 +44,8 @@ It isn't possible to create an EXE or DLL that contains debug information. Debug ### To set this linker option in the Visual Studio development environment 1. Open the project's **Property Pages** dialog box. For details, see [Set C++ compiler and build properties in Visual Studio](../working-with-project-properties.md). - 1. Select the **Linker** > **Debugging** property page. - 1. Modify the **Generate Debug Info** property to enable or disable PDB generation. This property enables **`/DEBUG:FASTLINK`** by default in Visual Studio 2017 and later. - 1. Modify the **Generate Full Program Database File** property to enable **`/DEBUG:FULL`** for full PDB generation for every incremental build. ### To set this linker option programmatically diff --git a/docs/build/reference/midl-property-pages.md b/docs/build/reference/midl-property-pages.md index 66c3955c39a..8d68b2e9f03 100644 --- a/docs/build/reference/midl-property-pages.md +++ b/docs/build/reference/midl-property-pages.md @@ -3,7 +3,6 @@ description: "Learn more about: MIDL Property Pages" title: "MIDL Compiler Property Pages" ms.date: "07/24/2019" ms.topic: "article" -ms.assetid: 57498a01-fccc-4a0e-a036-6ff702f83126 f1_keywords: - VC.Project.VCMidlTool.PreprocessorDefinitions - VC.Project.VCMidlTool.AdditionalIncludeDirectories @@ -112,6 +111,9 @@ Specifies the default character type of the C compiler that will be used to comp Specifies which environment to target ([/env](/windows/win32/midl/-env) arm32|win32|ia64|x64). +> [!NOTE] +> Starting with Visual Studio 2026, the **`/env:arm32`** option is deprecated and removed. If you need to target ARM32, use the Visual Studio 2022 v143 build tools. + **Choices** - **Not Set** - Win32 From bc6285ca61cc63a904ad5e3c6845f20d8c295e40 Mon Sep 17 00:00:00 2001 From: TylerMSFT Date: Mon, 8 Sep 2025 18:45:32 -0700 Subject: [PATCH 3/6] fix alt+text and old image format --- docs/build/clang-support-cmake.md | 14 +++++++------- ...ual-cpp-application-by-using-a-setup-project.md | 11 +++++------ 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/docs/build/clang-support-cmake.md b/docs/build/clang-support-cmake.md index 157c3259d95..8a2eadec580 100644 --- a/docs/build/clang-support-cmake.md +++ b/docs/build/clang-support-cmake.md @@ -26,14 +26,14 @@ You can use Visual Studio with Clang to edit and debug C++ CMake projects that t For the best IDE support in Visual Studio, we recommend using the latest Clang compiler tools for Windows. If you don't already have those, you can install them by opening the Visual Studio Installer and choosing **C++ Clang compiler for Windows** under **Desktop development with C++** optional components. You may prefer to use an existing Clang installation on your machine; if so, choose the **C++ Clang-cl for v142 build tools** or **C++ Clang-cl for v143 build tools** component. -![Screenshot of the Visual Studio Installer Individual Components page that shows Clang components available for installation.](media/clang-install-vs2019.png) +:::image type="content" source="media/clang-install-vs2019.png" alt-text="Screenshot of the Visual Studio Installer Individual Components page. C++ Clang Compiler For Windows and C++ Clang-cl for v142 build tools are selected."::: ::: moniker-end ::: moniker range="msvc-170" For the best IDE support in Visual Studio, we recommend using the latest Clang compiler tools for Windows. If you don't already have those, you can install them by opening the Visual Studio Installer and choosing **C++ Clang compiler for Windows** under **Desktop development with C++** optional components. You may prefer to use an existing Clang installation on your machine; if so, choose the **MSBuild support for LLVM (clang-cl) toolset** component. -![Screenshot of the Visual Studio Installer Individual Components page that shows Clang components available for installation.](media/clang-install-vs2022.png) +:::image type="content" source="media/clang-install-vs2022.png" alt-text="Screenshot of the Visual Studio Installer Individual Components page. C++ Clang Compiler For Windows and MSBuild support for LLVM are selected."::: ::: moniker-end ::: moniker range=">=msvc-160" @@ -47,11 +47,11 @@ To add a new Clang configuration to a CMake project: 1. Under **Configurations**, press the **Add Configuration** button: - ![Screenshot of the controls at the top of the C Make Settings dialog, with the Add Configuration control highlighted.](media/cmake-add-config-icon.png) + :::image type="content" source="media/cmake-add-config-icon.png" alt-text="Screenshot of the controls at the top of the C Make Settings dialog, with the Add Configuration button highlighted."::: 1. Choose the desired Clang configuration (note that separate Clang configurations are provided for Windows and Linux), then press **Select**: - ![Screenshot of the Add Configuration to C Make Settings dialog for Clang configuration.](media/cmake-clang-configuration.png) + :::image type="content" source="media/cmake-clang-configuration.png" alt-text="Screenshot of the Add Configuration to C Make Settings dialog for Clang configuration. Contains entries such as Mingw64-Release, x86-Debug/Release, x64-Debug/Release, x86-Clang Debug/Release."::: 1. To make modifications to this configuration, use the **CMake Settings Editor**. For more information, see [Customize CMake build settings in Visual Studio](customize-cmake-settings.md). @@ -63,7 +63,7 @@ To modify an existing configuration to use Clang, follow these steps: 1. Under **General** select the **Toolset** dropdown and choose the desired Clang toolset: - ![Screenshot of the General dialog box showing that the Toolset is selected and clang cl x 86 is highlighted.](media/cmake-clang-toolset.png) + ![Screenshot of the General dialog box showing the Toolset drop-down and clang cl x 86 is highlighted.](media/cmake-clang-toolset.png) ## Custom Clang locations @@ -74,7 +74,7 @@ By default, Visual Studio looks for Clang in two places: You can specify another location by setting the **CMAKE_C_COMPILER** and **CMAKE_CXX_COMPILER** CMake variables in **CMake Settings**: -![Screenshot of the C Make Settings dialog box with the C Make C X X Compiler highlighted.](media/clang-location-cmake.png) +:::image type="content" source="media/clang-location-cmake.png" alt-text="Screenshot of the C Make Settings dialog box with the C Make C X X Compiler highlighted. C Make configurations are listed such as x64-Clang-Debug, Linx-Clang-Release, and so on." Lightbox="media/clang-location-cmake.png"::: ## Clang compatibility modes @@ -88,6 +88,6 @@ After you have set up a Clang configuration, you can build and debug the project When debugging, you can use breakpoints, memory and data visualization, and most other debugging features. Some compiler-dependent features such as Edit and Continue aren't available for Clang configurations. -![Screenshot of the Visual Studio debugger debugging a CMake Clang project.](media/clang-debug-visualize.png) +:::image type="content" source="media/clang-debug-visualize.png" alt-text="Screenshot of the Visual Studio debugger debugging a CMake Clang project. The Autos window is visible, showing variables and their values."::: ::: moniker-end diff --git a/docs/windows/walkthrough-deploying-a-visual-cpp-application-by-using-a-setup-project.md b/docs/windows/walkthrough-deploying-a-visual-cpp-application-by-using-a-setup-project.md index 5878dda4372..99e286e2a67 100644 --- a/docs/windows/walkthrough-deploying-a-visual-cpp-application-by-using-a-setup-project.md +++ b/docs/windows/walkthrough-deploying-a-visual-cpp-application-by-using-a-setup-project.md @@ -3,7 +3,6 @@ description: "Learn more about: Walkthrough: Deploy a Visual C++ application by title: "Deploy a Visual C++ application by using a setup project" ms.date: 06/28/2022 helpviewer_keywords: ["deployment for Visual C++"] -ms.assetid: 66735cda-8fe3-4211-a19a-2cf717a12a3f ms.custom: intro-deployment ms.topic: install-set-up-deploy --- @@ -45,7 +44,7 @@ If you have Visual Studio installed, but you don't have the C++ or MFC component 1. In the Manage Extensions dialog, expand **Online** > **Visual Studio Marketplace** > **Tools** and select **Setup & Deployment**. - ![The Manage Extensions dialog showing the Visual Studio setup project extension.](media/vs2019-extension-dialog-installer-project.png "Name the client project") + :::image type="content" source="media/vs2019-extension-dialog-installer-project.png" alt-text="Screenshot of the Manage Extensions dialog Microsoft Visual Studio Installer Projects item selected."::: 1. In the list of extensions, select **Microsoft Visual Studio Installer Projects 2022**. Choose the **Download** button. @@ -85,7 +84,7 @@ If you have Visual Studio installed, but you don't have the C++ or MFC component 1. In the Manage Extensions dialog, expand **Online** > **Visual Studio Marketplace** > **Tools** and select **Setup & Deployment**. - ![The Manage Extensions dialog showing the Visual Studio setup project extension.](media/vs2019-extension-dialog-installer-project.png "Name the client project") + :::image type="content" source="media/vs2019-extension-dialog-installer-project.png" alt-text="Screenshot of the Manage Extensions dialog Microsoft Visual Studio Installer Projects item selected."::: 1. In the list of extensions, select **Microsoft Visual Studio Installer Projects**. Choose the **Download** button. @@ -125,7 +124,7 @@ If you have Visual Studio 2017 installed, but you don't have the C++ or MFC comp 1. In the Extensions and Updates dialog, expand **Online** > **Visual Studio Marketplace** > **Tools** and select **Setup & Deployment**. Set the **Sort by** dropdown to **Most Downloads**. - ![The Manage Extensions dialog showing the Visual Studio setup project extension.](media/vs2019-extension-dialog-installer-project.png "Name the client project") + :::image type="content" source="media/vs2019-extension-dialog-installer-project.png" alt-text="Screenshot of the Manage Extensions dialog Microsoft Visual Studio Installer Projects item selected."::: 1. In the list of extensions, select **Microsoft Visual Studio Installer Projects**. Choose the **Download** button. @@ -183,7 +182,7 @@ To create a deployable application setup, first you'll create a sample app to de 1. Launch Visual Studio. By default, it opens the **Create a New Project** dialog box. If Visual Studio is already open, on the menu bar, choose **File** > **New** > **Project** to open the **Create a New Project** dialog box. - ![Screenshot of the Create a new project dialog showing an MFC App project template.](media/vs2019-mfc-app-new-project.png "New MFC app") + :::image type="content" source="media/vs2019-mfc-app-new-project.png" alt-text="Screenshot of the Create a new project dialog in Visual Studio with MFC entered in the search box and the MFC App project template selected." lightbox="media/vs2019-mfc-app-new-project.png"::: 1. At the top of the dialog, type `MFC` in the search box and then choose **MFC App** from the results list. (If the MFC App template is missing, see [To install C++ and MFC in Visual Studio 2022](#install-mfc-2022).) Choose the **Next** button to continue. @@ -203,7 +202,7 @@ To create a deployable application setup, first you'll create a sample app to de 1. On the menu bar, choose **File** > **New** > **Project** to open the **Create a New Project** dialog box. - ![Screenshot of the Create a new project dialog showing an MFC App project template.](media/vs2019-mfc-app-new-project.png "New MFC app") + :::image type="content" source="media/vs2019-mfc-app-new-project.png" alt-text="Screenshot of the Create a new project dialog in Visual Studio with MFC entered in the search box and the MFC App project template selected." lightbox="media/vs2019-mfc-app-new-project.png"::: 1. At the top of the dialog, type `MFC` in the search box and then choose **MFC App** from the results list. (If the MFC App template is missing, see [To install C++ and MFC in Visual Studio 2019](#install-mfc-2019).) Choose the **Next** button to continue. From 88ef5185fbd0484e199da761db26935b2f9b100e Mon Sep 17 00:00:00 2001 From: TylerMSFT Date: Mon, 8 Sep 2025 19:05:48 -0700 Subject: [PATCH 4/6] fixes --- docs/build/clang-support-cmake.md | 5 ++--- ...the-windows-10-sdk-in-a-windows-desktop-application.md | 8 ++++---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/docs/build/clang-support-cmake.md b/docs/build/clang-support-cmake.md index 8a2eadec580..f0b27f2a3d7 100644 --- a/docs/build/clang-support-cmake.md +++ b/docs/build/clang-support-cmake.md @@ -38,7 +38,6 @@ For the best IDE support in Visual Studio, we recommend using the latest Clang c ::: moniker-end ::: moniker range=">=msvc-160" - ## Create a new configuration To add a new Clang configuration to a CMake project: @@ -47,11 +46,11 @@ To add a new Clang configuration to a CMake project: 1. Under **Configurations**, press the **Add Configuration** button: - :::image type="content" source="media/cmake-add-config-icon.png" alt-text="Screenshot of the controls at the top of the C Make Settings dialog, with the Add Configuration button highlighted."::: + :::image type="content" source="media/cmake-add-config-icon.png" alt-text="Screenshot of the controls at the top of the C Make Settings dialog. The Add Configuration button is highlighted."::: 1. Choose the desired Clang configuration (note that separate Clang configurations are provided for Windows and Linux), then press **Select**: - :::image type="content" source="media/cmake-clang-configuration.png" alt-text="Screenshot of the Add Configuration to C Make Settings dialog for Clang configuration. Contains entries such as Mingw64-Release, x86-Debug/Release, x64-Debug/Release, x86-Clang Debug/Release."::: + :::image type="content" source="media/cmake-clang-configuration.png" alt-text="Screenshot of the Add Configuration to C Make Settings dialog for Clang configuration. Contains entries such as Mingw64-Release, x86-Debug, x64-Debug, x86-Clang Debug/Release, and so on."::: 1. To make modifications to this configuration, use the **CMake Settings Editor**. For more information, see [Customize CMake build settings in Visual Studio](customize-cmake-settings.md). diff --git a/docs/windows/how-to-use-the-windows-10-sdk-in-a-windows-desktop-application.md b/docs/windows/how-to-use-the-windows-10-sdk-in-a-windows-desktop-application.md index 8998b1d37b4..5fab4c2c2aa 100644 --- a/docs/windows/how-to-use-the-windows-10-sdk-in-a-windows-desktop-application.md +++ b/docs/windows/how-to-use-the-windows-10-sdk-in-a-windows-desktop-application.md @@ -24,7 +24,7 @@ To retarget your projects to use the latest Windows SDK when you upgrade from a 1. Open the shortcut menu for the project node, and choose **Retarget projects**. (In earlier versions of Visual Studio, choose **Retarget SDK Version**.) The **Review Solution Actions** dialog appears. - :::image type="content" source="../windows/media/retargetingwindowssdk2.PNG" alt-text="Screenshot of the Review Solution Actions dialog. Target Platform Versions is set to 10.0.10156.0"::: + :::image type="content" source="media/retargetingwindowssdk2.PNG" alt-text="Screenshot of the Review Solution Actions dialog. Target Platform Versions is set to 10.0.10156.0"::: 1. In the **Target Platform Version** dropdown list, choose the version of the Windows SDK you want to target. Generally speaking, we recommend you choose the latest installed version. Choose the **OK** button to apply the change. @@ -36,15 +36,15 @@ To retarget your projects to use the latest Windows SDK when you upgrade from a 1. Open the project properties dialog. In the **Configuration Properties** > **General** section, notice the values of **Windows Target Platform Version**. Changing the value here has the same effect as following this procedure. For more information, see [General Property Page (Project)](../build/reference/general-property-page-project.md). - :::image type="content" source="../windows/media/retargetingwindowssdk3.PNG" alt-text="Screenshot of the Property Pages dialog. Target Platform Version is set to 8.1." lightbox="../windows/media/retargetingwindowssdk3.PNG"::: + :::image type="content" source="media/retargetingwindowssdk3.PNG" alt-text="Screenshot of the Property Pages dialog. Target Platform Version is set to 8.1." lightbox="media/retargetingwindowssdk3.PNG"::: This action changes the values of project macros that include paths to header files and library files. To see what changed, open the **Visual C++ Directories** section of the **Project Properties** dialog. Select one of the properties, such as **Include Directories**. Then, open the property value's dropdown list, and choose **\**. The **Include Directories** dialog appears. - :::image type="content" source="../windows/media/retargetingwindowssdk4.PNG" alt-text="Screenshot of the Include Directories dialog showing paths to Windows SDK includes such as C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/Include." lightbox="../windows/media/retargetingwindowssdk4.PNG"::: + :::image type="content" source="media/retargetingwindowssdk4.PNG" alt-text="Screenshot of the Include Directories dialog showing paths to Windows SDK includes such as C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/Include." lightbox="media/retargetingwindowssdk4.PNG"::: Choose the **Macros >>** button, and scroll down the list of macros to the Windows SDK macros to see all the new values. - :::image type="content" source="../windows/media/retargetingwindowssdk5.PNG" alt-text="Screenshot of the macros dialog showing Windows SDK-related macros and their values. For example, $(windir) is c:/Windows." lightbox="../windows/media/retargetingwindowssdk5.PNG"::: + :::image type="content" source="media/retargetingwindowssdk5.PNG" alt-text="Screenshot of the macros dialog showing Windows SDK-related macros and their values. For example, $(windir) is c:/Windows." lightbox="media/retargetingwindowssdk5.PNG"::: 1. Repeat the retargeting procedure for other solution projects, as needed, and rebuild the solution. From 757992564713049bde553f3b14e5b081ec169b95 Mon Sep 17 00:00:00 2001 From: TylerMSFT Date: Mon, 8 Sep 2025 19:30:19 -0700 Subject: [PATCH 5/6] lightbox --- ...ing-a-visual-cpp-application-by-using-a-setup-project.md | 6 +++--- docs/windows/windows-desktop-wizard.md | 4 +--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/windows/walkthrough-deploying-a-visual-cpp-application-by-using-a-setup-project.md b/docs/windows/walkthrough-deploying-a-visual-cpp-application-by-using-a-setup-project.md index 99e286e2a67..ace07229458 100644 --- a/docs/windows/walkthrough-deploying-a-visual-cpp-application-by-using-a-setup-project.md +++ b/docs/windows/walkthrough-deploying-a-visual-cpp-application-by-using-a-setup-project.md @@ -44,7 +44,7 @@ If you have Visual Studio installed, but you don't have the C++ or MFC component 1. In the Manage Extensions dialog, expand **Online** > **Visual Studio Marketplace** > **Tools** and select **Setup & Deployment**. - :::image type="content" source="media/vs2019-extension-dialog-installer-project.png" alt-text="Screenshot of the Manage Extensions dialog Microsoft Visual Studio Installer Projects item selected."::: + :::image type="content" source="media/vs2019-extension-dialog-installer-project.png" alt-text="Screenshot of the Manage Extensions dialog Microsoft Visual Studio Installer Projects item selected." Lightbox="media/vs2019-extension-dialog-installer-project.png"::: 1. In the list of extensions, select **Microsoft Visual Studio Installer Projects 2022**. Choose the **Download** button. @@ -84,7 +84,7 @@ If you have Visual Studio installed, but you don't have the C++ or MFC component 1. In the Manage Extensions dialog, expand **Online** > **Visual Studio Marketplace** > **Tools** and select **Setup & Deployment**. - :::image type="content" source="media/vs2019-extension-dialog-installer-project.png" alt-text="Screenshot of the Manage Extensions dialog Microsoft Visual Studio Installer Projects item selected."::: + :::image type="content" source="media/vs2019-extension-dialog-installer-project.png" alt-text="Screenshot of the Manage Extensions dialog Microsoft Visual Studio Installer Projects item selected." Lightbox="media/vs2019-extension-dialog-installer-project.png"::: 1. In the list of extensions, select **Microsoft Visual Studio Installer Projects**. Choose the **Download** button. @@ -124,7 +124,7 @@ If you have Visual Studio 2017 installed, but you don't have the C++ or MFC comp 1. In the Extensions and Updates dialog, expand **Online** > **Visual Studio Marketplace** > **Tools** and select **Setup & Deployment**. Set the **Sort by** dropdown to **Most Downloads**. - :::image type="content" source="media/vs2019-extension-dialog-installer-project.png" alt-text="Screenshot of the Manage Extensions dialog Microsoft Visual Studio Installer Projects item selected."::: + :::image type="content" source="media/vs2019-extension-dialog-installer-project.png" alt-text="Screenshot of the Manage Extensions dialog Microsoft Visual Studio Installer Projects item selected." Lightbox="media/vs2019-extension-dialog-installer-project.png"::: 1. In the list of extensions, select **Microsoft Visual Studio Installer Projects**. Choose the **Download** button. diff --git a/docs/windows/windows-desktop-wizard.md b/docs/windows/windows-desktop-wizard.md index 6b57672f3df..3509d67f7a4 100644 --- a/docs/windows/windows-desktop-wizard.md +++ b/docs/windows/windows-desktop-wizard.md @@ -10,9 +10,7 @@ ms.assetid: 5d7b3a5e-8461-479a-969a-67b7883725b9 The Windows Desktop Wizard replaces the Win32 Application Wizard in Visual Studio 2017 and later. The wizard allows you to create any of four types of C++ projects (listed in the heading in the table below). In each case, you can specify additional options that are appropriate for the type of project you open. - ![Screenshot of the Windows Desktop Project wizard.](media/windows-desktop-wizard.png) - -:::image type="content" source="media/windows-desktop-wizard.png" alt-text="Screenshot of the Windows Desktop Project wizard. Application type is set to Console Application (.exe) Precompiled Header and Security Development Lifecycle (SDL) checks are selected."::: +:::image type="content" source="media/windows-desktop-wizard.png" alt-text="Screenshot of the Windows Desktop Project wizard. Application type is set to Console Application (.exe) Precompiled Header and Security Development Lifecycle (SDL) checks are selected." Lightbox="media/windows-desktop-wizard.png"::: The following table indicates which options are available for each application type. From ad753654275b28a527843219cbf8271f93e198e3 Mon Sep 17 00:00:00 2001 From: TylerMSFT Date: Mon, 8 Sep 2025 19:40:04 -0700 Subject: [PATCH 6/6] edits --- docs/build/clang-support-cmake.md | 6 +++--- ...e-the-windows-10-sdk-in-a-windows-desktop-application.md | 2 +- ...ing-a-visual-cpp-application-by-using-a-setup-project.md | 6 +++--- docs/windows/windows-desktop-wizard.md | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/build/clang-support-cmake.md b/docs/build/clang-support-cmake.md index f0b27f2a3d7..4b74bd679fc 100644 --- a/docs/build/clang-support-cmake.md +++ b/docs/build/clang-support-cmake.md @@ -50,7 +50,7 @@ To add a new Clang configuration to a CMake project: 1. Choose the desired Clang configuration (note that separate Clang configurations are provided for Windows and Linux), then press **Select**: - :::image type="content" source="media/cmake-clang-configuration.png" alt-text="Screenshot of the Add Configuration to C Make Settings dialog for Clang configuration. Contains entries such as Mingw64-Release, x86-Debug, x64-Debug, x86-Clang Debug/Release, and so on."::: + :::image type="content" source="media/cmake-clang-configuration.png" alt-text="Screenshot of the Add Configuration to C Make Settings dialog for Clang configuration. Contains entries such as Mingw64-Release, x86-Debug, x64-Debug, x86-Clang Debug, and so on."::: 1. To make modifications to this configuration, use the **CMake Settings Editor**. For more information, see [Customize CMake build settings in Visual Studio](customize-cmake-settings.md). @@ -73,7 +73,7 @@ By default, Visual Studio looks for Clang in two places: You can specify another location by setting the **CMAKE_C_COMPILER** and **CMAKE_CXX_COMPILER** CMake variables in **CMake Settings**: -:::image type="content" source="media/clang-location-cmake.png" alt-text="Screenshot of the C Make Settings dialog box with the C Make C X X Compiler highlighted. C Make configurations are listed such as x64-Clang-Debug, Linx-Clang-Release, and so on." Lightbox="media/clang-location-cmake.png"::: +:::image type="content" source="media/clang-location-cmake.png" alt-text="Screenshot of the C Make Settings dialog box with the C Make C X X Compiler highlighted. C Make configurations are listed such as x64-Clang-Debug, Linux-Clang-Release, and so on." Lightbox="media/clang-location-cmake.png"::: ## Clang compatibility modes @@ -87,6 +87,6 @@ After you have set up a Clang configuration, you can build and debug the project When debugging, you can use breakpoints, memory and data visualization, and most other debugging features. Some compiler-dependent features such as Edit and Continue aren't available for Clang configurations. -:::image type="content" source="media/clang-debug-visualize.png" alt-text="Screenshot of the Visual Studio debugger debugging a CMake Clang project. The Autos window is visible, showing variables and their values."::: +:::image type="content" source="media/clang-debug-visualize.png" alt-text="Screenshot of the Visual Studio debugger debugging a CMake Clang project."::: ::: moniker-end diff --git a/docs/windows/how-to-use-the-windows-10-sdk-in-a-windows-desktop-application.md b/docs/windows/how-to-use-the-windows-10-sdk-in-a-windows-desktop-application.md index 5fab4c2c2aa..d9158b617c8 100644 --- a/docs/windows/how-to-use-the-windows-10-sdk-in-a-windows-desktop-application.md +++ b/docs/windows/how-to-use-the-windows-10-sdk-in-a-windows-desktop-application.md @@ -40,7 +40,7 @@ To retarget your projects to use the latest Windows SDK when you upgrade from a This action changes the values of project macros that include paths to header files and library files. To see what changed, open the **Visual C++ Directories** section of the **Project Properties** dialog. Select one of the properties, such as **Include Directories**. Then, open the property value's dropdown list, and choose **\**. The **Include Directories** dialog appears. - :::image type="content" source="media/retargetingwindowssdk4.PNG" alt-text="Screenshot of the Include Directories dialog showing paths to Windows SDK includes such as C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/Include." lightbox="media/retargetingwindowssdk4.PNG"::: + :::image type="content" source="media/retargetingwindowssdk4.PNG" alt-text="Screenshot of the Include Directories dialog showing paths to Windows SDK includes such as C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/Include, and so on." lightbox="media/retargetingwindowssdk4.PNG"::: Choose the **Macros >>** button, and scroll down the list of macros to the Windows SDK macros to see all the new values. diff --git a/docs/windows/walkthrough-deploying-a-visual-cpp-application-by-using-a-setup-project.md b/docs/windows/walkthrough-deploying-a-visual-cpp-application-by-using-a-setup-project.md index ace07229458..5b2af3d9365 100644 --- a/docs/windows/walkthrough-deploying-a-visual-cpp-application-by-using-a-setup-project.md +++ b/docs/windows/walkthrough-deploying-a-visual-cpp-application-by-using-a-setup-project.md @@ -44,7 +44,7 @@ If you have Visual Studio installed, but you don't have the C++ or MFC component 1. In the Manage Extensions dialog, expand **Online** > **Visual Studio Marketplace** > **Tools** and select **Setup & Deployment**. - :::image type="content" source="media/vs2019-extension-dialog-installer-project.png" alt-text="Screenshot of the Manage Extensions dialog Microsoft Visual Studio Installer Projects item selected." Lightbox="media/vs2019-extension-dialog-installer-project.png"::: + :::image type="content" source="media/vs2019-extension-dialog-installer-project.png" alt-text="Screenshot of the Manage Extensions dialog with Microsoft Visual Studio Installer Projects selected." Lightbox="media/vs2019-extension-dialog-installer-project.png"::: 1. In the list of extensions, select **Microsoft Visual Studio Installer Projects 2022**. Choose the **Download** button. @@ -84,7 +84,7 @@ If you have Visual Studio installed, but you don't have the C++ or MFC component 1. In the Manage Extensions dialog, expand **Online** > **Visual Studio Marketplace** > **Tools** and select **Setup & Deployment**. - :::image type="content" source="media/vs2019-extension-dialog-installer-project.png" alt-text="Screenshot of the Manage Extensions dialog Microsoft Visual Studio Installer Projects item selected." Lightbox="media/vs2019-extension-dialog-installer-project.png"::: + :::image type="content" source="media/vs2019-extension-dialog-installer-project.png" alt-text="Screenshot of the Manage Extensions dialog with Microsoft Visual Studio Installer Projects selected." Lightbox="media/vs2019-extension-dialog-installer-project.png"::: 1. In the list of extensions, select **Microsoft Visual Studio Installer Projects**. Choose the **Download** button. @@ -124,7 +124,7 @@ If you have Visual Studio 2017 installed, but you don't have the C++ or MFC comp 1. In the Extensions and Updates dialog, expand **Online** > **Visual Studio Marketplace** > **Tools** and select **Setup & Deployment**. Set the **Sort by** dropdown to **Most Downloads**. - :::image type="content" source="media/vs2019-extension-dialog-installer-project.png" alt-text="Screenshot of the Manage Extensions dialog Microsoft Visual Studio Installer Projects item selected." Lightbox="media/vs2019-extension-dialog-installer-project.png"::: + :::image type="content" source="media/vs2019-extension-dialog-installer-project.png" alt-text="Screenshot of the Manage Extensions dialog with Microsoft Visual Studio Installer Projects selected." Lightbox="media/vs2019-extension-dialog-installer-project.png"::: 1. In the list of extensions, select **Microsoft Visual Studio Installer Projects**. Choose the **Download** button. diff --git a/docs/windows/windows-desktop-wizard.md b/docs/windows/windows-desktop-wizard.md index 3509d67f7a4..ff53b068d36 100644 --- a/docs/windows/windows-desktop-wizard.md +++ b/docs/windows/windows-desktop-wizard.md @@ -10,7 +10,7 @@ ms.assetid: 5d7b3a5e-8461-479a-969a-67b7883725b9 The Windows Desktop Wizard replaces the Win32 Application Wizard in Visual Studio 2017 and later. The wizard allows you to create any of four types of C++ projects (listed in the heading in the table below). In each case, you can specify additional options that are appropriate for the type of project you open. -:::image type="content" source="media/windows-desktop-wizard.png" alt-text="Screenshot of the Windows Desktop Project wizard. Application type is set to Console Application (.exe) Precompiled Header and Security Development Lifecycle (SDL) checks are selected." Lightbox="media/windows-desktop-wizard.png"::: +:::image type="content" source="media/windows-desktop-wizard.png" alt-text="Screenshot of the Windows Desktop Project wizard. Application type is set to Console Application (.exe). The Precompiled Header and the Security Development Lifecycle (SDL) checkboxes are selected." Lightbox="media/windows-desktop-wizard.png"::: The following table indicates which options are available for each application type.