A new version of MSIX Hero 2.x is available. The 2.0 milestone is now complete, as all items planned for 2.0 release are now in place. Just as in case of the last build, this version 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.
In case you upgrade from 1.x, here is the overview of what version 2.x has already changed.
Changes since 2.0.0 (alpha):
Breaking changes
MSIX Hero migrated from .NET Core 3.1 to .NET 5.0 (#74)
Device Guard version 1 signing is not available anymore (#72)
Improvements
Raw package name / publisher name is now shown instead of blanks if the translation from PRI failed (#82)
“Copy to clipboard” button now available for event logs (#79)
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
New UI
Dashboard
Ability to start any entry point
Command-line generator
Sorting and grouping by installation date
New Event Viewer
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.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 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:
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 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.
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.
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.
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.
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.
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.
A new minor update of MSIX Hero is available. This build improves the experience of MSIX app attach (UI and command-line driven) and fixes a few spotted issues. The update is highly recommended.
Changes
App attach scripts are now digitally signed.
Because of the previous, the configuration of package(s) for app attach has been moved to a separate JSON file app-attach.json, which is then accessed by staging and registration scripts. In order to make adjustments (like changing the MSIX junction point path) edit the JSON file directly. Below is a typical file structure that is created (either from UI or from MSIXHeroCLI.exe):
All MSIX app attach scripts have now constant names (for example stage.ps1) and do not contain the name of the package anymore. This has the following benefits:
It is easier to run them manually by just typing a few letters in Terminal window
This is also now semantically correct, as the scripts are now effectively the same for all packages, since the configurable data has been moved to the JSON config.
The content of the scripts for app attach has been generally improved in terms of code formatting, and a missing dismount routine (also not present in templates on MSDN) has been added to the destage.ps1 script.
Staging script had previously duplicated curly braces, which could cause an error returned by mklink. The issue has been fixed in this version.
Speaking of mklink, its exit codes are now checked by the staging script. Non-zero exit code will break immediately.
The dialog for certificate extraction can now trigger self-elevation (UAC) in case the checkbox for trusted store is checked.
In the same wizard, a shield has been added to indicate possible elevation.
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.
Here is a visual comparison and update impact analysis of MSIX Hero 1.0.14 -> 1.0.16 upgrade. You can get similar results by exploring the options in the Ribbon > Tools > Update impact analyzer.