fix(windows): improve install.ps1 errors for missing VC++ runtime#1962
fix(windows): improve install.ps1 errors for missing VC++ runtime#1962cheezone wants to merge 2 commits into
Conversation
✅ Deploy Preview for viteplus-preview canceled.
|
|
@codex review |
|
I’ve come across this problem too; it’s a great fix. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7ec73799b7
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Detect STATUS_DLL_NOT_FOUND (0xC0000135) when vp.exe install fails on clean Windows and print VC++ Redistributable guidance. Stop using exit in interactive irm | iex installs so the PowerShell session stays open.
- Exit with non-zero code when invoked as a script file (not only CI=true) - Compare NTSTATUS exit codes without unsafe UInt32 casts - Rethrow install stop signal from nested metadata catch blocks
|
Thanks for the Codex review — addressed in the latest push:
|
Summary
On clean Windows machines without the MSVC runtime,
vp.exefails to start duringirm https://vite.plus/ps1 | iexwith exit code0xC0000135(STATUS_DLL_NOT_FOUND). The installer previously reported a generic "Failed to install dependencies" with an emptyinstall.log, andexit 1closed the entire PowerShell window when run viaiex.This PR:
0xC0000135aftervp.exe installfails and prints VC++ 2015–2022 Redistributable install guidance (x64/arm64)exit 1with a non-CI halt path so interactiveirm | iexinstalls keep the shell open without duplicating the error messageAll
Write-Error-Exitpaths now keep the interactive shell open when not running underCI=true.Context
Similar report elsewhere: kirodotdev/Kiro#9752
Test plan
CI=true): still exits with non-zero code