Introducing MSIX Editor

kmantagi
Flexera
Flexera
4 0 1,790

While Flexera has been delivering MSIX support incrementally since it was first announced, we are happy to share that  AdminStudio 2020 R2 adds to its suite of powerful tools another new capability in support of MSIX, a dedicated MSIX Editor designed specifically for IT professionals. MSIX Editor makes editing of MSIX packages super easy, enabling you to:

  • Open MSIX and Modification packages and get insights into the package
  • Make desired changes to MSIX packages
  • Save changes made to a MSIX package as a Modification package
  • Digitally sign MSIX and Modification packages
  • Trace MSIX packages to identify run time issues
  • Apply Package Support Framework fixups to fix run time issues

A quick refresher on MSIX, before we learn how to edit MSIX packages in MSIX Editor:

MSIX is a Windows app package format that brings the best features of MSI, .appx, App-V, and ClickOnce together into a single format to provide a modern and reliable packaging experience. The MSIX package format enables the new deployment features to Win32, WPF and Windows Forms apps while still retaining their functionality. Apps that are packaged using MSIX run inside a container. All the MSIX processes run inside the container and are isolated from the OS using virtual file system and registry. An MSIX app writes to its own virtual registry and application data folder, and this data will be deleted completely upon uninstallation thus making uninstallation of an app absolutely clean with no footprints of the app left on the machine. This isolation and clean uninstallation help you to get away with the traditional packaging problems like ‘Winrot’ and ‘DLL Hell’.

Editing MSIX Packages

The Appxmanifest.xml is the most important file in MSIX package. This is an XML file which defines all the important aspects of the package and its features. Appxmanifest.xml dictates the installation and runtime behavior of the package. The MSIX Editor is organized into various views in the left pane which is based on the Appxmanifest.xml structure. This arrangement of the views helps you to easily identify and understand all the properties of an MSIX package and to make any desired changes.

In this demo, we will see how to use MSIX Editor to edit the content of a simple MSIX package and save the changes as a new version of the package:

Creating MSIX Modification Packages

A Modification package lets you customize an existing MSIX package. A modification package is similar to a Transform (.mst) for an MSI package in that it changes the installation, however the changes can be applied at any time with a modification package (as opposed to an MSI transform which must be applied during the installation process).  A primary benefit of a modification package is that it is not tied to a specific version of its main MSIX package, which gives you an advantage to create a modification package once and use it for all the current and future version of its main MSIX packages, unless you want to add any additional customizations.

Modification packages have the same extension as MSIX packages but contain only files and registry keys. Modification packages cannot be installed on a machine independently. The main MSIX package must be already installed on a machine to install its modification package on the same machine to apply customization successfully. When a modification package is installed, Windows will see its content as part of the same container as that of the main MSIX package thus treating every file and registry key in a modification package as part of the its main MSIX package.

In this demo, we will see how to make changes to a simple MSIX package and save those changes as a modification package using MSIX Editor:

Known Limitations

MSIX Editor lets you perform all the basic editing and updating of your MSIX packages, however some advanced editing (such as the editing of visual assents or declarations) are not available in this introductory version of the MSIX Editor. Here is the list of known limitations in the MSIX Editor at this point:

  1. Views under Application Properties node - Applications, Visual Assets, App Declarations and Content URIs, and App Manifest view are read only. These views display the content from the MSIX package, but there is no edit capability.
  2. The only fixup that is supported at this time, is that of the most commonly required File Redirection Fixup (FRF). All the supported files needed for the FRF fixup should be placed in the same folder alongside the JSON file. The tool will pick up all supported files from the folder based on the path provided for the JSON file.
  3. Only a limited set of package and app declarations (also referred to as extensions) are supported. Considering IT Pros use cases, we chose to support those declarations which are applicable to packaging Win32 apps.
  4. Digital signing requires a PFX certificate file.
  5. Tracing an app monitors all the actions of the app due to which you may notice some latency while launching the app and while tracing.

Anticipated Enhancements

Some enhancements planned for the future releases of MSIX Editor:

  1. Enable editing for all the views under Application Properties.
  2. Capability to edit the appxmanifest.xml file.
  3. Support more signing options. Example: Certificate store etc.
  4. Support all the out of box fixups in Package Support Framework.
  5. Make recommendations for fixups to fix the identified run-times issues on tracing.
  6. Flexibility to define the level of monitoring and logging to reduce latency while tracing.
  7. Optimize to reduce the package load time in the editor.

We would love to hear feedback from you and help us drive the tool in the direction which meets your needs. Please use the comment section below to provide your feedback or please send a direct message to schedule a one on one session where we can have a conversation about your feedback.

Product Manager