Verify installed version matches upgrade target after installer success#6097
Verify installed version matches upgrade target after installer success#6097AMDphreak wants to merge 1 commit intomicrosoft:masterfrom
Conversation
When upgrading, compare the version reported by Windows (ARP correlation or MSIX package family registration) to the manifest package version after the installer exits successfully. If the installed version is still lower, emit APPINSTALLER_CLI_ERROR_UPGRADE_INSTALLED_VERSION_MISMATCH. Skips verification when reboot is required to finish (version may not update until restart) or when either version is unknown. Does not cover installers that do not participate in ARP/MSIX correlation (e.g. some portable flows); those remain unchanged. Related: microsoft#4550
|
Two things:
|
I appreciate you callimg this out - The community repository just surpassed 12,000 packages that are available which means that any changes to reporting an error here would be breaking in my opinion; especially when you consider the automations and integrations enterprises and independent developers have built around the existing behavior of the CLI. |
Summary
Follow-up to misleading success output when an upgrade exits 0 but Windows still reports an older installed version (see #4550 and related reports).
Behavior
After a successful installer return code, if the operation is an upgrade (
InstallerExecutionUseUpdate):Utility::Versionof the correlated installed version to the manifest package version. If the installed version sorts less than the expected (manifest) version, fail withAPPINSTALLER_CLI_ERROR_UPGRADE_INSTALLED_VERSION_MISMATCH(0x8A15008F).Deployment::GetInstalledVersionStringForFamilyNamewhere applicable.Notes
Portable/zip flows that do not correlate to ARP/MSIX are unchanged.
Testing
CI / AppInstallerCLITests as usual.
Made with Cursor
Microsoft Reviewers: Open in CodeFlow