New in TMEditX Editor and Tools 7.1

Version 7.1 of the TMEditX Editor and the TMEditX Tools are both released today.  This is a feature release, and the post covers both releases.

TMEditX Editor 7.1

TMEditX Editor is the licensed and much more capable tool for fixing up MSIX packages, better than PsfTooling since it doesn’t have to depend on the Microsoft MSIX Packaging Tool to create the final package.  [Download_page]

 

Type Description
PSF

Updated to Psf v2026.02.22

See blog post: Psf v2026.02.22 – Confessions of a Guru

Feature

MSIX Bundles.

Support to open an msixbundle file, including those with a .msix extension.

We are not attempting to allow you to edit the file so much as recognize the format, show you the files and the contents of BundleAppXManifest.xml file.  Also added, is the ability to double-click on one of the embedded MSIX files to open that for edit.

Feature

Alternate Code Pages.

Added detection of apps that use alternative CodePage encoding in their WInPE format.  Also added a new Recommended fixup to add the Uap8:ActiveCodePage parameter to the AppXManifest file.

This is very important for apps that spawn off child apps and communicate over the Console port (stdin/stdout). These are mostly cross-platform apps build for Linux originally.

The official documentation from Microsoft for the Uap7:Properties element does not list this new element as an option, and the parameter is also missing from documentation.  The Uap7 schema does not mention this new parameter, but it is defined in the Uap8 schema file.  We tried adding this to a package and it solved the problem.

So we added the detection and fixup to the editor, and filed a documentation bug with Microsoft.

Features

Support for things only seen in Vendor supplied packages.

The following features and changes were made to support packages released in MSIX form from developers.  IT will still want to vet and change many/most of these packages before deploying. In many cases, these packages include things we never see in captured packages.

  • The bundle feature mentioned above.  You may not want to deploy the bundle, but just the embedded msix file for your architecture, plus possibly a resource or dependency framework package.  Because we identify these, you can copy them from the temporary unpack folder.
  • Added support for ContentType attribute of the FileTypeAssociation element.  While not really important to be in the package, we want to preserve the fidelity of what the developer asked for, so have added this support.
  • Added support for ToastActivatorCLIS for desktop toast notifications in the AppXManifest.  Captured installers use a different element.
  • Added support for some original foundational package level extensions that we assumed has been obsoleted by the COM extension family.  This also helps to close the gap on the last (hopefully) missing COM functionality for captured packages – managed in-process x86 COM.
  • Added uap:ApplictionContentUriRules support to the AppXManifest.
  • Added support for DeviceCapabilities in the AppXManifest.
  • Added support for the undocumented schema “getTemplate” seen in several vendor AppXManifest files.  These are like the build schema extensions that are not part of MSIX but show up as documentation of the tooling used.  We now process these and keep them in the package.
  • Fixed support for packages declaring “windows.AppExtension” extensions to an application.  We never see these in recaptured apps and had an error in our processing of these.
  • Fixed support for Desktop3:CloudFiles regarding the requirement for IconResource.  We think only OneDrive uses this.
  • Fixed support for Framework and Resource type packages.
  • Fixed the regex parsing for Uap5:Host to use the ECMA flavor of regex for pattern matching when validating a file.
  • Fixed support for Uap5:IdentityType in OutOfProcessServer.
  • Fixed support for the rarely used Uap:EditFlags parameter in FileTypeAssociations.
Feature

Newer VCRuntime versions.

Added a detection and warning in the “Unfixable and Informational” area for a package that has a newer version of VCRuntime files than that of the PSF.  This should only come up if your version of TMEditX is not up to date.  If detected, the package may or may not work correctly.

Feature

Firewall Rules.

Added a new configuration and three detections associated with Windows Firewall Rules added by application installers.  See our research paper for a lot of detail about all of this:

https://tmurgent.com/appv/en/resources/white-paperlist/658-windows-firewall-msix

Via configuration, you may opt in to detecting missing firewall rules and adding them into the AppXManifest, or opt-out to remove any present.

The detections will either add a Recommended Fixup to add or remove these rules, or an Informational one for the add scenario if there are any that cannot be automatically handled.

There are some rules that cannot be automatically added; these will appear in the “unfixable and Informational” list. Typically, these are wildcard rules and we can’t add them to the AppXManifest as is. You can manually add these to the AppXManifest once you determine which exe they should apply to.

Command line parameters for overrides to the tool configuration were also added for this feature.  They are /AutoAddFirewallRules and /AutoRemoveFirewallRules.

You may need the new cmdlets in PassiveInstall 3.0 to get the MMPT to capture firewall rules laid down by the vendor installer as part of your installation wrapper script.  Again, see that blog post for details.

Feature

Update While In Use.

Added a new optional fixup to add the Uap17:UpdateWhileInUse property to the package.

This property does not seem to actually work at this time, and we have asked Microsoft to investigate.  But it does no harm to add it!

It is supposed to solve an issue for the scenario where this package tries to update an installed package of different version and that package is in use.  The intent of this feature is to allow the request to be placed in a deferred queue to be completed later, rather than what happens today.

What happens today depends on how the install was requested.  From the AppInstaller GUI, it would kill the running process without warning and install.  From other methods, it will fail.

We like this feature and hope Microsoft will fix it.

Feature

Improvements to shortcut detection and processing.

Added support for installers that drop .website files to the start menu or desktop, rather than .url and .lnk files.

Also added support for installers that drop .lnk files that just point to a .url or .website file elsewhere in the package to get to a webpage.

Also added support for an installer that just drops the http/s reference  as the target of a .lnk file.  This one (only) uses the Uap:StartPage element and avoids the need for the PSF.

Also added support for advertised shortcuts that have a url as the target.

Also added support for a situation where the package has two shortcuts that used the same named exe file as the target, but using two different filepaths.  This was treated as a duplication previously and has now been fixed.

Change

.Net Runtime Detection.

Improvements to detection of .Net Runtime dependencies for components in the package.

These appear in the “Unfixed and Informational” list. 

Note that when a detection for .Net runtime of 5 or more appears, that or any newer version should be OK.

Change

Minimum Package Version

In the previous release, we added a configuration feature that would prevent the tool from updating the Minimum OS version of the package. 

Normally, the tool updates this field if it adds a feature that only works on that OS or above.  Some schema extensions require this field be increased or the feature will be ignored even if on an OS that support it.  But updating this field means you can’t install the package on older OSs. So, we added this feature in to avoid the problem.

Unfortunately, not all schema elements are silently ignored (even if we request it) and including one of those elements in the AppXManifest without increasing the Minimum OS makes it impossible to install the package on back-rev OSs like Server 2022 (and Windows 10).

Now, if such identified elements are part of the package, we will update the minimum OS version, so that the feature works in all situations where it can work.  This is probably better for those down-rev systems as the issue is now detected at package installation time and not at user runtime.  The package analysis log also tells you about the change so you can track it at packaging time.

Fix

Updated VCRuntimes added with the PSF to the now latest version.

The PSF requires VCRuntime redistributables, and TMEditX supplies these to the package when requested.  We try to keep the version needed by the PSF in line with the latest version released by Microsoft, so that these will be at or greater than what an application might require.

We have updated the redistributables in this release to the currently latest version available from Microsoft, 14.50.

Fix

 ILV Option

In the previous release we added a new option to opt-out of using InstalledLocationVirtualization. We had a bug and it only took affect if included using the cmdline option.

This is fixed.  Sorry!

Fix

Are you Sure?

In the previous release we added a new option to ask an “are you sure” like question if the package currently under edit has not been saved if the user attempts to close the window or open a new package.  The cancel button did not work.

We fixed that.

 

Where to get the release

The latest version of TMEditX Editor is found at the following link.  TMEditX has a fully functional trial mode that can be used to verify just how good it is.  TMEditX Download

TMEditX Tools 7.1

TMEditX Tools is the free tools for packagers wanting to quickly test and debug their MSIX packages.  It contains two apps.  MSIXDeploy is used to install, uninstall, and debug MSIX and AppAttach packages from your file share without the need of a server. ParsePsfDebugLog is a tool for organizing and formatting the debug log output produced when you use the PSF (especially the Debug Psf).

MSixDeploy:

  • Added support for showing the internal package types on the MSIX packages tab, including bundle, framework, resource, and modification types.
  • Added the version of the PSF of the package on the MSIX packages tab.
  • Other assorted fixes.

ParsePsfLog:

  • Added support for PsfFtaCom filtering.
  • Added support for some new log file syntaxes from the new PSF version.

Where to get the release

TMEditX Tools is free, and the latest release may be found at TMEditX Tools Download

By Tim Mangan

Tim is a Microsoft MVP, and a Citrix CTP Fellow. He is an expert in App-V and MSIX.