microsoft / msix-packaging

MSIX SDK
MIT License
963 stars 163 forks source link

ForceUpdateFromAnyVersion Option not included with MSIX App Installer #627

Open surajraja opened 2 months ago

surajraja commented 2 months ago

Project MSIX SDK or Win7Msix Describe the bug We do not see this option in the App Installer, Could this be included?

true

Without this option, we would not be able to downgrade the application.

To Reproduce Steps to reproduce the behavior:

true

Expected behavior A clear and concise description of what you expected to happen.

true

Screenshots If applicable, add screenshots to help explain your problem. steps:

Platform Azure DevOps

Additional context Add any other context about the problem here.

DrusTheAxe commented 2 months ago

Without this option, we would not be able to downgrade the application.

Do you need to?

This is a pretty exotic option because of the ramifications -- if you change a package from version 5 to version 4 the package is 'downgraded' but the associated data isn't.

If v5 wrote data in ways v4 doesn't understand the deployment operation succeeds but runtime behavior can ranging from fine, cosmetic, broken functionality, data corruption and/or crash.

One solution to that is to 'downgrade' your package and reset the package. The latter will wipe all data associated with the package. Of course that can pose its own pains...

One of the reasons folks usually 'roll forward' - if updating from v4 to v5 introduces problems pushing out a v6 which corrects the problems (even if v6 is nothing more than same content as v4) easily flows through systems as they normally expect, while providing the opportunity to patch the problem with trivial-to-nontrivial change as needed.

The ForceUpdateFromAnyVersion option was created in Windows years back for what seemed a good reason, but it's been exceedingly rarely used for the reasons described above. In theory it's a useful option, but as they say in theory there's no difference between theory and practice whereas in practice...