mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-08-29 10:09:43 +02:00
## Summary Fixes #48778 — the automated developer setup (`winget configure .config\configuration.winget`) provisions **Visual Studio 2026** but feeds it a `.vsconfig` containing **Visual Studio 2022-era component IDs** that were renamed or removed in VS 2026. The `VSComponents` DSC resource silently skips the invalid IDs, so the **Windows 11 SDK (26100)** and **WindowsAppSDK C# support** never install — breaking the build with cppwinrt (exit code 3) and WindowsAppSDK target failures, exactly as reported. ## Root cause PR #45534 bumped `.config/configuration.winget` from VS 2022 → VS 2026 (`Microsoft.VisualStudio.Community`, `channelId: VisualStudio.18.Release`) but left `.vsconfig` untouched. Five component IDs in `.vsconfig` are invalid in the VS 2026 (Dev18) catalog: | `.vsconfig` (old, VS 2022) | VS 2026 reality | |---|---| | `Component.Windows10SDK.22621` | renamed → `Component.Windows11SDK.22621` | | `Component.Windows10SDK.26100` | renamed → `Component.Windows11SDK.26100` (the build's target SDK) | | `ComponentGroup.WindowsAppSDK.Cs` | renamed → `WindowsAppSdkSupport.CSharp` | | `Component.Windows10SDK.19041` | removed from VS 2026 (only a `WindowsTargetPlatformMinVersion` floor — never a real install requirement) | | `Component.Windows10SDK.20348` | removed from VS 2026 (not referenced by the build) | A single `.vsconfig` is the source of truth for all three winget variants (`configuration.winget`, `configuration.vsProfessional.winget`, `configuration.vsEnterprise.winget`), which reference it via `${WinGetConfigRoot}\..\.vsconfig`, so this one edit fixes every automated path. ## Changes - `Windows10SDK.22621/26100` → `Windows11SDK.22621/26100` - `ComponentGroup.WindowsAppSDK.Cs` → `WindowsAppSdkSupport.CSharp`, and added `WindowsAppSdkSupport.Cpp` (PowerToys' C++/WinRT projects need it) - Removed `Windows10SDK.19041` and `Windows10SDK.20348` - `doc/devdocs/readme.md`: corrected the `10.0.22621.0` SDK label from "Windows 10 SDK" to "Windows 11 SDK" ## Validation - All 18 resulting component IDs validated against a live VS 2026 (18.7.0) installation via `vswhere -include packages` — all present/valid. - `.vsconfig` parses as valid JSON. - Build target requirements confirmed from `Cpp.Build.props` (`WindowsTargetPlatformVersion = 10.0.26100.0`, min `10.0.19041.0`) and `Common.Dotnet.CsWinRT.props`. ## Notes The docs still list "VS 2022 17.4+" as an alternative; this `.vsconfig` is aligned to the recommended/automated VS 2026 path. The VS Installer treats any unrecognized component IDs in `.vsconfig` gracefully (shown as unavailable, non-blocking) for VS 2022 users. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
23 lines
1.0 KiB
JSON
23 lines
1.0 KiB
JSON
{
|
|
"version": "1.0",
|
|
"components": [
|
|
"Microsoft.VisualStudio.Component.CoreEditor",
|
|
"Microsoft.VisualStudio.Workload.CoreEditor",
|
|
"Microsoft.VisualStudio.Workload.NativeDesktop",
|
|
"Microsoft.VisualStudio.Workload.ManagedDesktop",
|
|
"Microsoft.VisualStudio.Workload.Universal",
|
|
"Microsoft.VisualStudio.Component.Windows11SDK.22621",
|
|
"Microsoft.VisualStudio.Component.Windows11SDK.26100",
|
|
"Microsoft.VisualStudio.ComponentGroup.UWP.VC",
|
|
"Microsoft.VisualStudio.Component.UWP.VC.ARM64",
|
|
"Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre",
|
|
"Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre",
|
|
"Microsoft.VisualStudio.Component.VC.ATL.ARM64",
|
|
"Microsoft.VisualStudio.Component.VC.ATL.ARM64.Spectre",
|
|
"Microsoft.VisualStudio.Component.VC.ATL",
|
|
"Microsoft.VisualStudio.Component.VC.ATL.Spectre",
|
|
"Microsoft.VisualStudio.Component.Vcpkg",
|
|
"Microsoft.VisualStudio.Component.WindowsAppSdkSupport.CSharp",
|
|
"Microsoft.VisualStudio.Component.WindowsAppSdkSupport.Cpp"
|
|
]
|
|
} |