In the last “MSIX Modern Packaging – Part 3” we transformed Notepad++ from a legacy installer to MSIX.
There is more to packaging like testing and make sure the application work as intended after we changed how the bits and bytes flow to the device. Most companies introduce user acceptance test (UAT) to their process of automating software, and I also think that makes sense. Someone must to take responsibility for the applications we tamper to make sure they work.
This blog post is being written based on Timothy Mangan reaching out to me. Thanks for the challenge.
- MSIX Package with context menu (like notepad++)
- MSIX Packaging tool
User acceptance test comes in many flavors. Some companies use a lot for resources on this area and other not so much. Having a stable process for this kind of automation / development is crucial to save everyone’s time and in the end money. Software and package changes going back and forth are expensive and we should have process that avoids exactly that.
A workflow could look like this:
Rule of thumb when packaging
- Always get to know the program you are dealing with. Find out what it does and make sure you have eyes open in regard to file associations, right click context menu items, services, pre-requisites and other stuff which could be a limitation of MSIX.
- If the program has dependencies, find out how they should de delivered to the client. Are they already installed?
- .net specific version
- Find out if you need to build a script to make sure they get to the client.
- Build requisites in your deployment system.
- If using Endpoint manager as deployment system, make sure the test installs using SYSTEM account, as to control for data in the user directories like %Appdata% or HKCU. (this was mostly for former MSI)
- Check your system to make sure it is clean, and nothing is left behind.
There are certainly more checks you can do, but these are the steps I go through, and will normally grant us a very high percentage of success.
According to Microsoft, MSIX delivers an impressive 99% installation success rate, making it one of the most predictable ways to deploy applications in modern environments.
In the last blogpost we installed the package onto the system. One important feature of Notepad++ is the ability to right click a file and open it.
If we go back to the test client from last blog post and install the notepad++ package again and right click a file, how does it look?
Yes, missing our context menu to open known files with notepad++ and also no way of using “Open with”.
Currently this type of context menu is not supported but it has been added as backlog feature that the MSIX team are preparing to fix.
Instead of the context menu we add a filetype extension.
Right click your notepad++ MSIX package
Scroll down and open file
Copy this text
Very important to be exact where you place that extension text.
And on the top line of the manifest, copy and paste this
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" xmlns:uap10="http://schemas.microsoft.com/appx/manifest/uap/windows10/10" xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" IgnorableNamespaces="uap uap3 uap10 rescap">
Save it and close notepad
There should not be any errors
Before we save the package, we need to ensure we sign the package. (it will create a version2)
Choose sign with a certificate (.pfx)
Browse for the certificate
Type password for certificate
We have not mass deployed our package yet, so press no to the increment, as we do not need to upgrade anything out there.
Save your package to the central storage
Install the package on a client
And as a result
Thanks, Timothy, for challenging me, otherwise this blog post would have been deploying the MSIX from a centrally managed system, instead of investigating a very crucial feature of Notepad++.
If you need to see what is in the backlog or submit ideas, then please go to this link and apply
In Part 5 we will deploy the MSIX to our clients from MEM!