MSIX Hero 3.0 is now available for download. This is a major release, with plenty of new features and internal changes.
Multilanguage support
MSIX Hero UI has been localized and translated to German and Polish. You can change the language in the Settings menu, and when starting for the first time MSIX Hero picks the best match from the list of supported languages (based on current system UI).
New card-based UI
The UI has been reworked – many settings, which were previously buried or hidden, are now available, often without any extra click. For example, this is the default view for a package:
Some other areas heavily affected by the new design principle are Event viewer and PSF content browser. Make sure to check them out!
App pinning
Installed apps can be now pinned and unpinned. To do it, simply press a star icon next to each installed app:
Shared Package Container
It is now possible to create XML files or directly deploy Shared Package Container. MSIX Hero GUI provides an easy way to set things up, including picking installed packages, reading from installable files, reordering etc. All these options are now also available in the CLI interface.
Certificate and timestamp validation
In every place where signature options are present, there is now a new button to validate the data.
The validation process ensures that end-to-end signing is working. It performs basic certificate check, timestamp server settings, trust status and much more.
Improved display of events
In the Event details section, typical win32 erros are now displayed in a humand friendly form, when possible with extra explanation. For example, the following is shown for an event, depicting a situation when an already existing package, albeit with a different content is being reinstalled.
The list of events has been reworked to show more information at glance:
Advanced options for appinstaller creation
A new tab was added in the Appinstaller dialog, allowing to circumvent a known-issue in MSIX / Delivery Optimization subsystem:
App attach dialog additions
It is now possible to edit junction point.
Settings for app attach have now also an experimental switch to revert back to a legacy (MSIX Hero 1.5) way of app attach creation. There is also a configuration for default value of junction points.
Other changes
In the Packages list, it is now possible to filter apps by their update capability (with app installer) and to switch between user/machine-wide installations.
In the Events list, new options for filtering were added: time span, log source and ability to filter verbose events.
In the System page, Sideloading and development features are now presented separately. Developer mode can be enabled with a switch control.
In the Package details view, sub-section Files, an information about file and registry virtualization is now shown (for packages supporting it).
In the Package details view, the displayed information for apps now shows more relevant information for PWA and hosted apps.
Toolbars are now more responsive and collapse properly if there is not enough horizontal space.
MSIX Hero has been just updated to version 2.3.0. Make sure to have .NET 6.0 installed on your machine which is now required to start the program.
Command line package editing
Command line app msixherocli.exe has a new command which can be used for unattended editing of packages, especially for automation purposes.
The list of available operations is going to be extended in next releases, the following is currently supported:
Changing of package identity (name, publisher, version, processor architecture etc.) via msixherocli.exe edit <path> setIdentity ...
Setting properties like display names, publisher display name, logo etc. via msixherocli.exe edit <path> setProperties ...
Adding standard, restricted or custom capabilities via msixherocli.exe edit <path> addCapability ...
Setting build meta-data via msixherocli.exe edit <path> setBuildMetaData ...
Deleting files via msixherocli.exe edit <path> deleteFile ...
Adding or replacing files via msixherocli.exe edit <path> addFile ...
Setting registry keys via msixherocli.exe edit <path> setRegistryKey ...
Setting registry values via msixherocli.exe edit <path> setRegistryValue ...
Deleting registry keys via msixherocli.exe edit <path> deleteRegistryKey ...
Deleting registry values via msixherocli.exe edit <path> deleteRegistryValue ...
Importing registry keys from file or local registry via msixherocli.exe edit <path> importRegistry ...
These command may be executed in a single atomic operation via msixherocli.exe edit <path> list ..., where the list of commands is passed either via a file or command prompt.
Call msixherocli.exe edit <path> --help for extensive help for all options. The <path> in all above commands can be a manifest, MSIX or an unpacked package directory.
Support for dependencies in .appinstaller dialog
Appinstaller editor dialog now supports package dependencies.
Drop-down with timestamping authorities
Fields accepting timestamp URL have now a drop-down with suggested timestamping authorities
Dialog to calculate publisher hash, package name and Package Family Name
In a newly added dialog (accessible from the Dashboard) it is easy to calculate the required properties and understand how they are built.
Other improvements
Ability to filter package list by publisher hash or raw name/publisher.
Ability to skip the validation during packing (in both UI and command-line).
Ability to remove unpacked folder after packing it to MSIX file.
Ability to remove MSIX file after unpacking it to a folder (in both UI and command-line).
Ability to copy package family name from the context menu.
Tim Mangan’s PsfTooling and RayPack Express are now recognized and shown in the System Summary screen.
New visual style of the tools dashboard.
Reworked running app indicator, which now works in real time and has some other improvements.
Better validation of package name, package version and resource ID in many UI dialogs.
Update impact dialog has now icons and better captions for duplicated files.
Resolved issues
Fixed sideloading and developer settings UI on Windows 10 (2004 and higher) and Windows 11.
Fixed handling of timestamp-related exceptions from signtool.exe.
Technical changes and SDK updates
Updated msixmgr (MSIX Core) to version 1.1.92.
Migrated MSIX Hero to .NET 6.0.
Reduced application size thanks to deprecation of older .NET Framework code.
Updated MSIX/Windows SDK to 10.0.22000.0.
Microsoft Store availability
MSIX Hero is now available in Microsoft Store. Bear in mind, that due to certification processes, the updates from both Winget and Microsoft Store may be lagging a few days behind. Also, be aware that the Store release uses a different package name, and due to another application data directory it may not see the settings, configured by MSIX Hero installed from MSIX/.appinstaller/winget.
Download
The new version can be downloaded from the Download page or from the GitHub Releases page.
A new minor update is now available, it fixes a few visual glitches and improves the handling of build metadata when saving or signing MSIX packages.
Changelog
When signing or changing an existing MSIX package, the original build metadata will be now preserved (previous version were removing any custom attributes and/or pre-existing values) (#120)
Fixed visual glitches related to acrylic backgrounds on maximized screen (4fdc7a77)
Several internal changes and code improvements (2dfc024 and 2790978)
Download
The new version can be downloaded from the Download page or from the GitHub Releases page.
New version of MSIX Hero is available. Below is the list of recent changes:
View directories, files, registry keys and values in your packages
Package properties have been redesigned to make space for two new tab: Files and Registry. They provide the overview of resources deployed by each package. For files, there is a button to show its content in a default editor.
This feature has been implemented for both installed packages and for compressed packages (MSIX) opened directly.
Winget Editor now supports v1 schema
Winget has moved on and has now more mature and feature-packed schema in version 1.0. MSIX Hero can now open and create files using the new schema (note: since the old schema has become obsolete, there is a little breaking change that the old formats cannot be opened or saved anymore).
New schema defines several new fields, which are now also supported directly from the GUI.
BTW: MSIX Hero support for Winget is not limited to MSIX – other setup types are also supported!
MSIX app attach – multiple files conversion + support for VHDX and CIM
MSIX app attach conversion dialog now supports multiple input files (similarly to how Package Signing handles them) and supports further output formats: VHDX and CIM (next to the already supported VHD). Note: Support for CIM is currently experimental.
New version of MSIX Hero is available. Below is the list of recent changes:
Support for Modification-, optional and related packages when generating .appinstaller files
Two new tabs are present in the App Installer editor: Optional packages and Related packages. These packages can be used to modify the base app (like modifying settings) or to extend functionality (like adding plugins).
Control the animation level
MSIX Hero 2.0 has introduced a new, rich UI, which however could cause issues on low-end machines, virtual machines or remote sessions. In this version, the amount of animations, transparency and other effects can be controlled in the UI. The default value Automatic ensures, that the program sets the most appropriate setting when launching the app.
New dashboard view
The dashboard has been cleaned-up, and shows a better overview of available actions.
Other changes
In case of errors when installing packages, the message shown in the UI is more precise.
It is now possible to add multiple files at once in the Sign Package dialog.
Minor UI changes and improvements.
Package selector now supports the .msixbundle extension.
Improved parsing of packages.
Resolved issues
Fixed an error shown when installing bundle packages
Fixed an issue in the App Installer editor, where the value of the Main Package URL was not saved properly.
Fixed the command line view generator in the app attach dialog, which was not including the --directory parameter.
Fixed a problem with the Add Folder prompt, which did not support cancelling.
Known issues
The format of winget manifests has changed recently. This build is not compatible with the new format yet. There is some work in a separate branch where the support is already covered, but there are some missing bits before it gets to the build (see issue Make winget editor compatible with v1 manifest format · Issue #110)
The new version can be downloaded from the Download page or from the GitHub Releases page.
The biggest change in this release (compared to previous version 2.0.46) is the overhaul of the Update Impact dialog, which received several new features and improvements:
Changes
Rewritten Update Impact analyzer
Added duplication and bar layout views
Added CLI support via updateImpact verb
Improved performance, especially for big packages
Ability to export to XML and start a new comparison
Added context menu item to open the Change Volume dialog for the selected package
Minor UI changes
Changed colors of invalid input fields from red to yellow
Validation icons are consistent (tab items, input texts, dialogs, the settings view)
Tab items have now bigger padding
Added extra help with tooltip in the Modification Package section, checkbox Copy to VFS
Bug fixes
Fixed a problem with the partition drop-down, which was not showing any value in the Change Volume dialog
Fixed a problem with invisible text on Windows 10 with dark mode enabled
Fixed broken CLI verb dependencies
Fixed a problem with file overview in the Update impact dialog, which was not correct for packages having uncompressed Appx blocks (for example ZIP files)
Fixed a regression in Winget editor, where the dialog would crash with “Invalid filter” exception
Fixed a problem with Modification Package dialog, where the checkbox “Copy to VFS” was not reacting to changes of other controls
The new version can be downloaded from the Download page.
GitHub releases page contains technical release notes and compiled binaries. You can use Discussions or Issuesto report ideas and bugs. Also, contributions via pull request are welcome.
The builds available for the download on this page use the same codebase and build routines as the code from GitHub, with the only exception of digital signing for which the keys are not public.
New UI
After starting the app, the first and arguably the most visible change is the new UI. Classic ribbon has been deprecated in favor of a fresh and lightweight UI, which takes less screen space and thanks to the principles of Fluent Design better exposes available functions and places of interest.
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.
Some less-frequently used options are available in drop-down menu, which can be access from the toggle button on the right.
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 due to being effectively scattered over several places, ribbons and tabs. In this version, 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:
Improved dependency analyzer
The dependency view uses now an improved algorithm, and due to several changes in captions and the new legend the relations are now much clearer.
Consolidated import and export of certificates from files
Actions like importing of a certificate file (.cer), trusting package publishers and exporting certificates from packages are now available from a single dialog (in MSIX Hero 1.x, these were available either separately or only from a command line). In this new dialog, the input file can be either a signed package or a certificate file – the choice of available actions depends on the input format. For example, when opening a signed package, the user can either extract the certificate or import it directly to the Trusted People store.
Other changes in 2.0
Improved performance and faster initial start.
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).
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.