Description
The .NET SDK 10.0.201 Windows x64 installer consistently fails with exit code 6 (0x80070006 / ERROR_INVALID_HANDLE) during the Burn engine elevation phase. The elevated child process launches but fails to complete the named pipe handshake with the parent process.
This does not affect .NET 8 SDK installers (which use an older WiX Burn version). It appears to be caused by a race condition in WiX v5.0.2 Burn engine, tracked upstream as wixtoolset/issues#9001.
Reproduction
- Windows 11 Enterprise 10.0.26200
- Open an elevated Administrator terminal (verified via
[Security.Principal.WindowsPrincipal] check)
- Run:
winget install --id Microsoft.DotNet.SDK.10
- Installer fails with exit code 6
Also reproduces when running the exe directly:
Start-Process "dotnet-sdk-10.0.201-win-x64.exe" -Verb RunAs -Wait
Log evidence
Parent process log — pipe wait fails:
[2026-04-14T14:42:54]i010: Launching elevated engine process.
[2026-04-14T14:42:54]i011: Launched elevated engine process.
[2026-04-14T14:42:54]e000: Error 0x80070006: Failed to wait for child to connect to pipe.
[2026-04-14T14:42:54]e000: Error 0x80070006: Failed to connect to elevated child process.
[2026-04-14T14:42:54]e000: Error 0x80070006: Failed to actually elevate.
[2026-04-14T14:42:54]e000: Error 0x80070006: Failed to elevate.
[2026-04-14T14:42:54]i399: Apply complete, result: 0x80070006, restart: None
Elevated child log — pipe verification fails:
[2026-04-14T14:42:54]i001: Burn x86 v5.0.2+dc67792d077edc24f5b197d5bd13a71e921b9396
[2026-04-14T14:42:54]i009: Command Line: '-q -burn.elevated ***** ***** *****'
[2026-04-14T14:42:54]e000: Error 0x8007006d: Failed to read size of verification secret from parent pipe.
[2026-04-14T14:42:54]e000: Error 0x8007006d: Failed to verify parent cache pipe: BurnPipe.{A883A853-7943-4259-B069-C2341825B38F}.Cache
[2026-04-14T14:42:54]e000: Error 0x8007006d: Failed to connect to unelevated process.
[2026-04-14T14:42:54]e000: Error 0x8007006d: Failed to run elevated mode.
Impact
- Reproduces 100% of the time on the affected machine — not intermittent
- Blocks installation of .NET 10 SDK via the standard installer and winget
- .NET 8 SDK installs fine via the same methods (uses older WiX Burn)
- The upstream WiX issue notes the bug disappears with a debugger attached, confirming a timing-dependent race condition
Workaround
Install .NET 10 SDK using dotnet-install.ps1 (bypasses WiX Burn entirely):
Invoke-WebRequest -Uri 'https://dot.net/v1/dotnet-install.ps1' -UseBasicParsing -OutFile dotnet-install.ps1
./dotnet-install.ps1 -Channel 10.0 -InstallDir 'C:\Program Files\dotnet' -Architecture x64
Environment
Suggested action
Consider documenting this as a known issue in the https://github.com/dotnet/core/blob/main/release-notes/10.0/known-issues.md with the dotnet-install.ps1 workaround, since the upstream WiX fix may take time and the issue is difficult to discover from .NET-specific search terms.
Description
The .NET SDK 10.0.201 Windows x64 installer consistently fails with exit code 6 (
0x80070006/ERROR_INVALID_HANDLE) during the Burn engine elevation phase. The elevated child process launches but fails to complete the named pipe handshake with the parent process.This does not affect .NET 8 SDK installers (which use an older WiX Burn version). It appears to be caused by a race condition in WiX v5.0.2 Burn engine, tracked upstream as wixtoolset/issues#9001.
Reproduction
[Security.Principal.WindowsPrincipal]check)winget install --id Microsoft.DotNet.SDK.10Also reproduces when running the exe directly:
Start-Process "dotnet-sdk-10.0.201-win-x64.exe" -Verb RunAs -Wait
Log evidence
Parent process log — pipe wait fails:
[2026-04-14T14:42:54]i010: Launching elevated engine process.
[2026-04-14T14:42:54]i011: Launched elevated engine process.
[2026-04-14T14:42:54]e000: Error 0x80070006: Failed to wait for child to connect to pipe.
[2026-04-14T14:42:54]e000: Error 0x80070006: Failed to connect to elevated child process.
[2026-04-14T14:42:54]e000: Error 0x80070006: Failed to actually elevate.
[2026-04-14T14:42:54]e000: Error 0x80070006: Failed to elevate.
[2026-04-14T14:42:54]i399: Apply complete, result: 0x80070006, restart: None
Elevated child log — pipe verification fails:
[2026-04-14T14:42:54]i001: Burn x86 v5.0.2+dc67792d077edc24f5b197d5bd13a71e921b9396
[2026-04-14T14:42:54]i009: Command Line: '-q -burn.elevated ***** ***** *****'
[2026-04-14T14:42:54]e000: Error 0x8007006d: Failed to read size of verification secret from parent pipe.
[2026-04-14T14:42:54]e000: Error 0x8007006d: Failed to verify parent cache pipe: BurnPipe.{A883A853-7943-4259-B069-C2341825B38F}.Cache
[2026-04-14T14:42:54]e000: Error 0x8007006d: Failed to connect to unelevated process.
[2026-04-14T14:42:54]e000: Error 0x8007006d: Failed to run elevated mode.
Impact
Workaround
Install .NET 10 SDK using
dotnet-install.ps1(bypasses WiX Burn entirely):Environment
Suggested action
Consider documenting this as a known issue in the https://github.com/dotnet/core/blob/main/release-notes/10.0/known-issues.md with the dotnet-install.ps1 workaround, since the upstream WiX fix may take time and the issue is difficult to discover from .NET-specific search terms.