-
Notifications
You must be signed in to change notification settings - Fork 521
Distro Versioning & Release Strategy
When you near the time to publish your distro to the Store, there are a few related things to consider: Distro APPX Updates, and Distro Versioning & Release:
Whenever you update an APPX & publish to the Store, the updated package is automatically pushed to all users who’ve installed your package on their PC(s).
While downloaded APPX’s are unpacked & stored once per machine, each user's "instance" of the APPX are configured independently: When a user first runs your distro, the distro itself will be unpacked into a private folder accessible only to that user, and inaccessible by any other app on the machine, other than your distro launcher.
Note: User's existing distro's are NOT automatically upgraded when a distro APPX is upgraded! Distro updating is left entirely in the user's hands so that they can update their distro(s) as and when they want to.
If a user uninstalls or cleans your distro, and then re-installs and re-runs it, they will install the latest distro version available in the Store at that moment.
A question you’ll need to consider is: Do you want to publish:
- One distro package per significant release of your distro
- A single "evergreen" distro package that is always the "latest"?
Or BOTH?
Depending on your choice, there are a few things to take care to choose a versioning/naming strategy that makes it easy for your users to invoke the required release from the command-line.
If the current release of your distro is v10, you should set your distro's ExecutionAlias
entity in your appxmanifest
file to distro10.exe
:
<Extensions>
<uap3:Extension
Category="windows.appExecutionAlias"
Executable="distro10.exe"
EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="distro10.exe" />
</uap3:AppExecutionAlias>
</uap3:Extension>
</Extensions>
Later, when you publish v11 of your Distro, you should update the ExecutionAlias
above to distro11.exe
.
Now, the user can decide which instance to run: distro10
or distro11
via the command-line, or, of course, via the named tile in the Windows Start Menu!
If, you publish an "evergreen" distro (always the latest version), then you might opt to set the ExecutionAlias
above to distro.exe
- i.e. exclude the version number! In this case, the user will only need to type distro
to launch the "evergreen" distro instance.
Though note - if the user has installed your evergreen app which contains v11 (for example) and you publish a new version of your app that contains the v12, the user will still get v11 when they run distro
- we won't upgrade the distro automatically. The user can always upgrade their distro manually from inside the distro (if you provide a mechanism for doing that) or, they could clean their instance distro clean
, and the next launch install the new version (v12)