fix(win): report MSIX health honestly when the probe cannot run#40
Merged
Conversation
…table Existence checks (Add-AppxPackage cmdlet, AppXSvc, sideload policy) cannot catch machines where the MSIX deployment COM class is unregistered (0x80040154 REGDB_E_CLASSNOTREG / 没有注册类): the cmdlet, service and policy all look present yet sideloading dies. probe_capabilities now tries to activate the WinRT PackageManager; an activation failure marks a new msix_deployment capability Unavailable, feeding msix_blocked so the plan defaults to portable instead of a doomed MSIX attempt. Conservative: only a probe that ran-and-failed flips to Unavailable; an unrun probe stays Unknown. Cascade across capability.rs/plan.rs/sys.rs/types.ts/managerApi.ts. Tests: cargo test -p codex-win-engine 20 passed; tsc --noEmit clean. Addresses mirror issue #13.
Add a `verified` field to MsixHealthReport so callers/UI/notes can tell a verified-healthy result apart from one kept conservatively because the health probe could not run. The keep-MSIX decision (healthy = true in the probe-failed branch) is intentional and unchanged; only the report's honesty improves. - verified = true only on the real Windows probe path that produced a verdict. - verified = false in the probe-failed branch and the non-Windows stub, where healthy = true is a conservative default rather than an observed clean bill of health. - Mirror the new field in the TS MsixHealthReport interface and the mock WinPerformReport.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Re-opens the change from #35, which GitHub auto-closed when its stacked base branch (feat/win-msix-deployment-probe, #31) was deleted on merge. Same commit, already passed Codex review + the full CI matrix as #35.
Adds a distinct
verifiedsignal to MsixHealthReport so an unrunnable post-install probe reads as 'unverified' rather than asserting healthy=true — without changing the conservative keep-MSIX decision.