windowsmsix

How to use the shortcut extension on Windows 10, using msix


I'd like to start using msix packages, but on a (windows 10) machine in question I have the shortcut extension available.

The shortcut extension is available since "Windows 10 (Build 19645)", I have one windows 10 machine with latest updates installed so I assumed everything would work without problems (it's just a shortcut).

However as soon as I installed the msix package, it complained the system wasn't meeting the minimum requirements for the extension. When I looked up winver it looks like the machine in question is on 19045, when I check the release information on msdn 19045 is also the last releasted windows 10 version.

Can somebody explain wether how I can use this feature on a windows 10 device? To my understanding windows 11 builds seem to start at around build 22000, so I do believe it should be available on windows 10.


Solution

  • 19645 is a preview build number, released around 2020, that is why you are confused. You are on the latest version of Windows 10.

    I assume you want to create a shortcut in the start menu? For this, you don't need to use the shortcut extension. You just need to add the application element in the manifest.

    Any application declared in the manifest will show up in the start menu. If you have multiple applications that you want to group in a folder set the attribute VisualGroup to the desired folder name

    If I am not mistaken, the shortcut extension you mentioned was proposed to be an official solution for us to include a shortcut on the user desktop for one of the applications included in the package. From our tests this never worked (I work on the team building Advanced Installer), so we ignored it and kept shipping our own workaround solution in MSIX packages built with Advanced Installer, for folks that really wanted a desktop shortcut.

    The workaround basically, consists of including a stub exe launcher that gets executed the first time when a start menu shortcut is used by the end-user. The stub will then check and create the shortcut as you configured it, if none is found. With MSIX packages you cannot execute custom code during install/uninstall so there is no other way to create/manipulate files outside of the MSIX package. The disadvantage is that on uninstall there is no way you can programmatically delete the shortcut, so the users will be left with a dead shortcut on their desktop.

    If you don't really need it I recommend you don't include a desktop shortcut. Let the users manually add one on their desktop, if they wish to do so. This is exactly what MS recommends and the reason why desktop shortcuts were not included in the initial design of MSIX packages. I guess the shortcut extension was just a try from the MS team to comply with the requests received from IT pros wanting more control over their end-user desktop (in their closed enterprise environments), but it is not recommended for software vendors.