Menu Close

Category: Release

MSIX Hero 2.0 (Preview)

MSIX Hero is now available in a preview version 2.0. Although the build is quite stable and there are just a few minor issues, it is not yet intended to be used in production. Version 2.0 must be downloaded separately, and it installs side-by-side with 1.x release. Continue reading to find out what has changed and how to get started.

For a time being only MSIX download is available – there is no .appinstaller support yet.

Summary of changes in 2.0

  1. New UI
  2. Dashboard
  3. Ability to start any entry point
  4. Command-line generator
  5. Sorting and grouping by installation date
  6. New Event Viewer
  7. Other changes

New UI

The first and the most visible change is the new UI. I decided to move away from classic ribbon-based UI, and instead try to implement a more “fresh” UI, which takes less screen space and thanks to the principles of Fluent Design better exposes available functions and places of interest.

A new default screen with the information about the last update will be shown after initial start of MSIX Hero. It is shown once for each update – the next time MSIX Hero starts it goes directly to the screen of your choice. You can also disable the Welcome screen from the Settings menu.

The default view should look like this:

The basic navigation patterns are the same – use the left menu with icons to change between Dashboard, Packages, Volumes, Events and System. Use the search bar to perform quick as-you-type filtering of the currently displayed list (if applicable). The most important options have dedicated buttons on the top bar, all functions can be also accessed from the context menu. You can toggle between USER and MACHINE packages by pressing the blue badge next to the search bar. Sorting, filtering and grouping is also available – to open the panel simply press the filter icon located over the package list.

There is a little nice visual touch – the background in the right panel uses the color and tile pattern from the currently selected app. Try selecting different apps to see how it reacts.

By the way, several less-used menu items are now less prominently exposed, but still available by pressing the three dots menu on the right:

Dashboard

MSIX Hero 1.x had several useful tools for various purposes, but they were difficult to discover because they were essentially scattered over several places, ribbons and tabs. In this build, there is now a single place to see them:

Ability to start any entry point

In MSIX Hero 1.x it was possible to “start” an application. MSIX Hero would choose the most appropriate entry point and have it started. This might have been not quite what the user wanted in case of apps with many entry points. In version 2.0, things have been improved by the introduction of the new Start menu. To access it, select any app and click on the Start toggle button in the top action bar:

This menu consolidates several other menus from MSIX Hero 1.x. You have an option to pick any entry point (and the badge next to it shows the type of the app – whether it is a classic Win32 EXE, UWP or maybe even a Progressive Web App). The bottom part of the new menu shows the commands which can be executed in the package context. As always, you can customize the commands by visiting the Settings dialog.

Command-line generator

MSIX Hero has a command line interface which covers most of operations available through dialogs. In this build, some of dialogs support a new switch that shows the equivalent of the current settings with the use of silent command line interface. In the dialogs that already support this functionality, tick the following checkbox:

to reveal a command line textbox. You can continue to change the options and preferences, and the command line will be automatically recreated. For example, this is how signing command line can be automated:

If you prefer to first test the settings out, simply execute the action and wait for the confirmation screen to be shown. The command will be shown there:

Sorting and grouping by the installation date

In the main package list, MSIX Hero 2.0 displays installation dates instead of package architecture.

Additional sorting, filtering and grouping options have been added to change the view regarding each app’s installation date. To access the menu, locate the filter icon in the top right corner and press it to show all options:

New Event Viewer

The complete Event Viewer tab has been redesigned from scratch. It has now a common master-detail layout, and shows much more interesting information for each event. One benefit of using this list over a system viewer is that MSIX Hero extracts the names of affected packages, so that you can quickly locate events affecting particular products. Also in version 2.0, error codes (if any present) are extracted from the description and shown directly in the list:

Other changes in 2.0 (Preview)

  • Improved performance and faster initial start.
  • Resolved some minor issues where changing specific values in dialogs would not refresh the state of OK and Apply buttons.
  • Added toast notifications displayed after installing or removing an app.
  • It is possible to select the default screen that is opened when MSIX Hero starts (default is the Packages screen).
  • Many other minor fixes and optimizations.

Next steps and milestones

There are still some functional changes and new features coming to version 2.0 which will be announced in next posts. Some other important milestones that I plan for 2.x (not necessarily 2.0, but still not far away from it):

  • Moving to .NET 5.0
  • Changing the model from Closed-Source to Open Source.

Known issues

  • Command line support for opening a concrete MSIX package is not yet implemented.
  • In Event Viewer, opening the system viewer is not implemented yet. This used to be possible with the old version.
  • Also in Event Viewer, the content of the current selection does not have vertical scrollbars and the content may be cut on smaller window sizes.
  • There is a rare issue with VMware Workstation, where the complete application chrome window is displayed partially transparent. The investigation is pending, for a time being disabling 3d acceleration seems to solve the issue. Hyper-V is unaffected from this.
  • Importing a certificate from a file is not yet implemented – the button for this feature is there but disabled.
  • Ability to change between list view with columns and a simple list is gone and will not be re-implemented. Sorting and filtering is now accessible from a dedicated menu.
  • Some dialogs may become partially transparent while doing background operations.
  • This build has a different package name to enable side-by-side installation with 1.x branch. Because of that, user settings will not be shared between both branches. This is not going to be fixed for preview builds, once 2.0 is stable and ready to go it will revert back to the original name, and the settings will be automatically taken over from the 1.x branch.

Feedback

Feedback, issues and ideas are always welcome. Get in touch using the e-mail address shown in page footer.

Download

The new version installs side-by-side with 1.x branch, so that the existing configuration and other settings of MSIX Hero will not be touched. For a time being only MSIX download is available – there is no .appinstaller support yet.

MSIX Hero 1.5.0 – Device Guard Signing

A long awaited feature – Device Guard Signing – has arrived in MSIX Hero 1.5.0. This and some further improvements are described below:

Sign packages with Device Guard Signing Service

MSIX Hero 1.5.0 can sign packages with Device Guard Signing Service. According to Microsoft:

Device Guard signing is a Device Guard feature that is available in the Microsoft Store for Business and Education. It enables enterprises to guarantee that every app comes from a trusted source

https://docs.microsoft.com/

To use Device Guard Signing, make sure to be signed up for Microsoft Store for Business or Microsoft Store for Education. In the Microsoft Store for Business (or or Microsoft Store for Education), assign yourself a role with permissions necessary to perform Device Guard signing.

To configure the feature in MSIX Hero, visit the new section of the Signing tab in the Settings window:

Sign-in using your Microsoft credentials by pressing the Sign in with Microsoft button.

MSIX Hero will perform a few checks to ensure that the user is allowed to sign. Once authenticated, MSIX Hero will check if you are allowed to sign, and will also determine your publisher name (certificate subject used for signing).

That’s it, you can now sign your packages.

Security considerations: Your login credentials are not stored anywhere. Authentication and authorization is delegated to the Microsoft Authentication Library. If you decide to configure default MSIX Hero signing method to be Device Guard, a stateless token and your desired publisher name will be saved in your profile, in an encrypted form. These tokens do not contain your user or password (encrypted or not) but they are sufficient to sign without asking for credentials each time.

More information about Device Guard signing can be found here: https://docs.microsoft.com/en-us/windows/msix/package/signing-package-device-guard-signing. Note that big parts of the official documentation do not apply to MSIX Hero, which does a lot of heavy-lifting under-the-hood, requiring only the minimal one time configuration.

At the time of writing, both version 1 and version 2 of the API are supported. Bear in mind, that the first version is going to be deprecated soon. The version 2 is used by default.

Command line signing with Device Guard

MSIXHeroCLI.exe can also sign with Device Guard. This works in one of three ways:

  • The user uses default settings from the current configuration (log-in performed once from the UI, subsequent signings are “silent”)
  • The user triggers signing and interactively provides the required credentials.
  • The user performs a signing by specifying the path to the authorization token (JSON). It is up to create and maintain the token file.

All these options are described in details in the documentation: Signing an MSIX package (sign).

Disable automatic publisher updates

CLI verb sign has now an extra parameter --noPublisherUpdate which – when present – prevents MSIX Hero from manually adjusting publisher names based on the certificate subject. In this case, an error will be returned if the certificate subject does not match the publisher name. Omitting the parameter (recommended) will ensure that the values are always in sync.

The setting is now also present in the UI

Other changes

  • Tabs in the Settings window are now showing an error indicator in case of incomplete data.
  • In the selector of the default certificate for signing, a default option “No certificate” is now available.
  • A problem with wrong path to default JSON editor after changing program’s settings has been fixed.
  • Many smaller UI improvements.

Download

The app will be updated automatically in a few hours if you installed it from app installer file. New users can download MSIX Hero from the Download page.

MSIX Hero 1.4.3 – Dependency graph

MSIX Hero 1.4.3 has been just released. Continue reading to find out what has been implemented since version 1.4.0.

Show nested package dependencies

The dependencies can be now presented in a graphical way:

The dependency graph takes into account package dependencies, target device families (Windows 10 and MSIX Core) and main packages (add-ons, modification packages), and it scans them recursively. The graph is interactive, you can zoom-in and zoom-out and move the shapes around for a better visibility. Once done, the results can be exported to a graphic file or printed.

This preview feature can be accessed for both installed and non-installed packages.

To show dependencies for an installed package, select it and from the Management ribbon press Analyze dependencies:

The same function can be invoked from the context menu:

Finally, you can open the new view from the Dependencies tab (by clicking on Open dependencies graph…) or simply start the viewer for any package (tab Tools, button Dependencies analyzer).

Ability to define expiration date for self-signed certificates

In the New self signed certificate dialog, a new input field has been added. You can now define the expiration date, with the default being one year from today:

Other changes

  • Windows 10 October 2020 Update is now correctly recognized by the Dependencies tab.
  • In the Installation tab, the path to the manifest file was empty for packages installed in the Developer mode. The issue has been fixed in this build.
  • Some minor wording adjustments in context menu and file pickers.

Download

The app will be updated automatically in a few hours if you installed it from app installer file. New users can download MSIX Hero from the Download page.

MSIX Hero 1.4.0 – Checking for appinstaller updates

MSIX Hero 1.4.0 is now available and here are the feature highlights and release notes for this release:

New tab with information about the installation type

Installation tab has now an extra tab, which shows the information about the type of the installation. For apps installed from .appinstaller files, the remote URL to the file is shown:

For Store apps, link to the corresponding Microsoft Store page is shown:

For all app types, a hyperlink to the installation folder is shown as well.

Ability to update / check for any .appinstaller update

For apps installed from Microsoft Store or from an appinstaller file, a new button Check for updates… is available in the Ribbon (tab Management)…

and from the context menu:

For Store apps, the link simply open the relevant Store page settings, where any pending updates may be downloaded.

For appinstaller, this will actually check whether any update is available (regardless of appinstaller settings about update check timing) and if an update is available an option to install it will be shown:

See more information about .appinstaller and the newly added function.

Better feedback for signtool related errors

Inspired by this thread on Twitter, this version now reports slightly more detailed error instead of infamous “No certificate were found that met all the given criteria“. For example, the following will be shown when trying to sign a certificate with improper EKU:

Even more information is also written to MSIX Hero logs (%localappdata%\msix-hero\Logs), including debug output of signtool.exe.

Improved package sidebar

Package content sidebar has received minor changes:

  • Installed add-ons (modification packages) are now displayed in the Content > Optional content section (previously they were under Installation tab)
  • The numbers (for example installed apps, add-ons, count of applications) are now shown as badges and better stand-out from the tab label:

Other changes

  • Validation of URL of .appinstaller files is now less strict and allows file:// and UNC share syntax.
  • Buttons for dismissing and calling release notes were stealing the focus. The issue has been fixed in this build.
  • Removal and update of packages was previously not refreshing the sidebar. The issue has been fixed in this build.
  • Importing a certificate file to the Personal store now shows a confirmation dialog.
  • Importing a certificate now shows an UAC dialog if MSIX Hero was not started as administrator.
  • For some packages, their titles and descriptions were not properly localized. The issue has been fixed in this build.
  • Ribbon buttons Modification package.., Appinstaller definition… and Winget manifest (YAML)… – have been moved from the Management to the Developer contextual tab.

Download

The app will be updated automatically in a few hours if you installed it from app installer file. New users can download MSIX Hero from the Download page.

MSIX Hero 1.3.0 – improved modification package generator + usability

MSIX Hero 1.3.0 is now available. Below are key changes of this release:

Improved modification package generator

The modification package generator has been heavily improved in this version. The dialog has been cleaned up an more options have been added.

  • Ability to specify display names for the package and publisher fields separately from “identity” values.
  • Ability to add extra files.
  • Ability to add extra registry entries (from .REG file).
  • Ability to create empty folder structures (only when creating a manifest file).

Some values which were displayed in previous versions of MSIX Hero (for example the architecture) are not there anymore, as modification packages do not require them. Additionally, a few reported bugs related to the modification packages handling have been fixed.

Create modification packages from command-line

Modification packages can be created from UI and from the new command line verb newmodpack, which exposes all options the UI offers.

Other changes

  • Fixed a problem with the package list loosing focus when switching to other windows.
  • The button Run package is now inactive when the current package does not have any Application (for example when it is a Modification Package).
  • In various dialogs, if there is any field which has an incorrect or a missing value, its tab is now highlighted.
  • In most of dialogs, the validation messages are now clearer about which value they refer to.
  • Restored missing asterisks for required values in some dialogs.
  • Update impact dialog now shows the correct message after pressing the button without specifying source packages first.
  • Headers in dialogs are now more “compact”, the labels are not displayed anymore.
  • In the Pack MSIX package dialog, the checkbox Sign this package is now in the Source + target tab (consistent with some other dialogs).
  • Minor visual adjustments of the Analyze update impact dialog.
  • General stability and performance improvements.

Download

The app will be updated automatically in a few hours if you installed it from app installer file. New users can download MSIX Hero from the Download page.

MSIX Hero 1.2.3

This release fixes a few important issues reported in version 1.2.0.

Changelog

  • On some systems, a BadData error could be shown when reading the list of installed packages, or when clicking a package on the installed apps list.
  • On some systems (depending on installed packages) a NullReferenceException could be shown when reading the list of installed packages.

Download

The app will be updated automatically in a few hours if you installed it from app installer file. New users can download MSIX Hero from the Download page.

MSIX Hero 1.2.0 – stopping apps + improved filtering

An update to MSIX Hero has been just released. This new version 1.2.0 contains the following changes:

Update 22.09.2020: Some users reported, that a “NullReference” error may be shown when launching the app, a regression in comparison to 1.1.15. On affected machines, this is caused by a presence of specific installed apps for which MSIX SDK API reports no manifest file path. The issue has been fixed in version 1.2.3.

Indicator for running apps

A small green indicator has been added to the apps that are currently running.

The list is “live” (it refreshes automatically). Note that some apps may be shown as running even though there is no foreground window visible. This is a case for UWP apps which may be still running in the background, in which case they are also considered as “running”.

Stopping apps

For an app that is currently running, it is possible to stop its process and all children (if necessary). This function can be invoked from the context menu:

…and from the Ribbon menu (make sure to select the app first):

Overhaul of the VIEW > filter menu

The VIEW menu has been adjusted to make it easier to filter. There are now two additional filter options:

  • Filtering by the architecture (for example, show me only x64 bit packages)
  • Filtering by the running status (for example, show me only apps that are running)

Four buttons representing the filter are clickable and reveal a dropdown with available options once clicked. Additionally, for drop-downs with radio buttons (for example filtering by the running status or by the add-on/main app type) the top part of its split button is clickable, and pressing it changes to the next available option.

As before, filter options can be combined, and for an app to be shown all filters must match. For example, the combination of settings from the last screenshot will show only running apps, excluding add-ons and Microsoft Store apps.

Other changes

  • The ribbon has been optimized for lower resolutions.
  • A duplicated action for the Empty modification package button in the File backstage has been corrected in this build. In previous versions, it was wrongly opening the MSIX app attach wizard.
  • Breaking change: It is not possible to start an app which does not have a Start Menu entry.

Download

The app will be updated automatically in a few hours if you installed it from app installer file. New users can download MSIX Hero from the Download page.

MSIX Hero 1.1.15: extended context menu

New version of MSIX Hero is available. This version has plenty of under-the-hood changes and refactored modules +optimizations for upcoming features.

Changelog

  • Running commands (previously called “tools”, for example REGEDIT, Notepad etc.) in the package context is now possible from the context menu:
  • Context menus have been restyled to match the app theme.
  • Improved progress reporting for some commands.
  • The usage of RAM has been optimized.

Resolved issues

  • The link to import the newly created certificate to the trusted store, shown on the confirmation page of the Create self-signed… dialog was not working. The issue has been fixed in this build.
  • A problem with sporadic “ghost” package selection has been fixed in this build.

Download

The app will be updated automatically in a few hours if you installed it from app installer file. New users can download MSIX Hero from the Download page.

MSIX Hero 1.1.0 – better add-ons overview

Feature highlight

It is possible to show add-ons / modification packages directly in the grid. A new ribbon group has been added to control this new behavior:

  • Only main apps – only main (non-optional) apps will be displayed. This is how previous versions worked, and also the default behavior of this version.
  • Only add-ons – only add-ons (modification packages) will be displayed. This is a handy way of seeing only apps which rely on some others, and also an easy way of uninstalling add-ons and modification packages.
  • Main apps + add-ons – combines both options by displaying all apps in the main grid.

Resolved issues

  • Modification packages were not loaded correctly in the sidebar. The issue has been fixed in this build.

Download

The app will be updated automatically in a few hours if you installed it from app installer file. New users can download MSIX Hero from the Download page.

MSIX Hero 1.0.21 – SDK update

This version contains just a single minor UI change – after upgrading to a newer version, a small information bar is shown:

Pressing Show release notes open respective blog page with change log of the currently installed version.

Additionally, various SDKs included with MSIX Hero has been updated in this build:

Download

The app will be updated automatically in a few hours if you installed it from app installer file. New users can download MSIX Hero from the Download page.

Update impact

Here is a visual comparison and update impact analysis of MSIX Hero 1.0.16 -> 1.0.21 upgrade. You can get similar results by exploring the options in the Ribbon > Tools Update impact analyzer.