Fix int-to-bool truncation in InstallPrerequisites (#40416)
* Fix int-to-bool truncation in InstallPrerequisites InstallPrerequisites() returns bool (reboot required), but on the elevated-install failure path it returned the int exit code directly. This caused implicit int→bool conversion where any nonzero exit code (including errors like exit code 2) was misinterpreted as 'reboot required', leading to incorrect user messaging. Fix: Throw on nonzero exit code instead of returning it, so failures propagate as errors rather than being misinterpreted as reboot signals. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address PR feedback: use WSL_E_INSTALL_COMPONENT_FAILED with user message The elevated wsl.exe sets its process exit code to -1 on failure, so HRESULT_FROM_WIN32(exitCode) becomes 0xFFFFFFFF and surfaces as an opaque error. Switch to the existing pattern used in WslInstall::InstallOptionalComponents: throw WSL_E_INSTALL_COMPONENT_FAILED with MessageOptionalComponentInstallFailed, which produces a clear `Failed to enable Windows component '<components>' (exit code <code>)` message. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>