An Azure service that is used to provision Windows and Linux virtual machines.
Microsoft advises removing .NET 6 from affected Windows Server 2022 VMs, but for a formal supportability decision covering your exact legacy image builds and installed extensions, validate dependencies on a clone and obtain written confirmation through an Azure Support request before estate-wide removal.^1^
What the published guidance establishes
- .NET 6 is an additional Marketplace-image component, not a documented Windows Server 2022 operating-system requirement. Microsoft’s refreshed
windowsserver2022images exclude end-of-support .NET packages while remaining Windows Server 2022 images. The legacy images included .NET 6, and Microsoft explicitly advises users to migrate and remove it.^1^ - .NET 6 reached end of support on November 12, 2024.^2^
- The Azure Windows VM Agent does not require .NET 6. Its documented prerequisite is .NET Framework 4.0 on supported Windows Server versions, including Windows Server 2022.^3^
- No blanket conclusion can be made for every extension or installed Microsoft workload. Microsoft states that extensions can have their own dependencies, so each installed extension and application must be checked individually.^4^
Consequently, removing .NET 6 should not inherently remove Windows Server or Azure VM support. However, the available documentation does not certify that every first-party component in image versions 20348.5622.260906 and 20348.5761.261013 is independent of .NET 6.
Proposed removal procedure
Perform this first on a restored copy or temporary clone. Removing the Hosting Bundle can break IIS applications, services, agents, or scheduled tasks that use .NET 6.
- Inventory installed architectures and removable components
The Uninstall Tool supports separate Hosting Bundle, runtime, ASP.NET runtime, x64, and x86 inventory.^5^dotnet --info dotnet --list-runtimes dotnet --list-sdks dotnet-core-uninstall list --hosting-bundle dotnet-core-uninstall list --runtime --x64 dotnet-core-uninstall list --runtime --x86 dotnet-core-uninstall list --aspnet-runtime --x64 dotnet-core-uninstall list --aspnet-runtime --x86 - Assess workload dependencies Check:
- IIS sites and application pools, including applications hosted inside
w3wp.exe. - Application directories for
*.runtimeconfig.jsonfiles specifyingnet6.0orMicrosoft.NETCore.App/Microsoft.AspNetCore.App6.x. - Windows services and scheduled tasks whose executable or command line points to
dotnet.exeor an application built for .NET 6. - Self-contained or apphost-based executables; these might not appear as a process named
dotnet. - Installed Azure extensions and other Microsoft server products against their individual system requirements.
- IIS sites and application pools, including applications hosted inside
- Dry-run the Hosting Bundle removal Substitute the exact version returned by
list:dotnet-core-uninstall dry-run 6.0.47 --hosting-bundledry-runreports what would be removed without changing the machine.^6^ - Remove the Hosting Bundle first
Do not immediately run separate runtime-removal commands: Hosting Bundle removal can also remove associated runtime components. The tool documentsdotnet-core-uninstall remove 6.0.47 --hosting-bundle--hosting-bundleas removing the runtime and Hosting Bundle.^7^ - Reinventory and remove only residual 6.x components Run the
listcommands again. If unrelated x64 or x86 .NET 6 runtimes remain, dry-run and remove those specific entries. Avoid--forceunless Microsoft Support directs it; the tool normally retains components that might be required by Visual Studio or other SDKs.^7^ - Validate
- Restart the VM during the approved maintenance window.
- Confirm the Azure VM Agent and every installed extension report healthy.
- Test IIS sites, services, scheduled tasks, monitoring, backup, security, and management tooling.
- Run
dotnet --list-runtimesand the vulnerability scan again.
For large-scale compliance remediation, Microsoft provides .NET Install Manager (DNIM), designed to identify, remove, and update vulnerable .NET installations across Windows estates. It also offers process/runtime diagnostics, although it does not report the ASP.NET Core Module, so Hosting Bundle checks remain necessary.^8^^9^
Obtain image-specific confirmation
Open an Azure Portal → Help + support → Create a support request under Virtual Machines or Marketplace images. Include:
- Publisher, offer, SKU, and both exact image versions.
- Installed Azure extensions and Microsoft products.
-
dotnet --infoand Uninstall Tool inventory. - The proposed Hosting Bundle removal and test results.
Ask Microsoft to confirm in writing that:
- Removing the .NET 6 Hosting Bundle preserves Windows Server and Azure VM supportability for those builds.
- No component baked into those exact images depends on .NET 6.
- No installed first-party extension or product in your supplied inventory requires it.
- Windows servicing and Windows Update remain supported after removal.
That case response is the appropriate authoritative record for audit and compliance purposes; the public documentation supports removal generally but does not provide build-by-build dependency certification.
References
- Windows Server images for June 2026 | Microsoft Support
- Ending Support in 2024
- Azure Windows VM Agent overview
- Virtual machine extensions and features for Windows
- dotnet-core-uninstall list (os-windows)
- dotnet-core-uninstall dry-run (os-windows)
- dotnet-core-uninstall remove (os-windows)
- .NET Install Manager overview
- .NET Install Manager FAQ