New in PSF v.2025.09.19

Psf Logo

The Package Support Framework (PSF) was originally a Microsoft open-source project to help Win32/DotNet applications run when inside an MSIX Container.  TMurgent has taken up the support for the PSF in our own fork here on GitHub.

Another month, more PSF goodness!  This month brings another PSF release with a fix for certain apps, improvements in debugging, and some changes to help us determine if there are some APIs that we need to add intercept fixups for down the road.  Here are the details:

  1. MfrFixup. We added additional folders to the mapping list used in MfrFixup that we found were needed in some particularly older applications.  These additional folders should be treated as exclusions, as the package should never include files under these folders and any files written should go to the native location to be available from outside of the package.  An example would be the ‘Downloads’ folder.

  2. Logging Changes. Previously, you would choose either the release or debug binaries of the PSF to affect the logging that the PSF does to the debug console port.  In this release we simply the choices, and unless you plan to use a  code debugger on your package, you will always just use the release binaries.  We added a new configuration option to the config.json file that allows you to set the level of debugging in the json file.

    Documentation on these levels are on the Wiki page for Config.Json.  The default value of 2 provides the same level of debug output as was always available in the prior release builds of the PSF.  A value of 4 provides the same level of debug output as the debug builds in the past.  But other values are also available as documented.

    Some formatting of the logging was also cleaned up, which is very useful when using the ParsePsfDebugTool to read the output.

    Note: It is possible to change the debug level in the config.json file on your test system by using MsixDeploy (part of the free community tools TMEditX Tools) to increase the debug level without having to open the package for edit.  On the MSIX tab, select the ‘Installed Packages’ radio button and right click on the package; in the popup menu select ‘Invoke inside Pkg Container’ and ‘Edit Config.Json’ menu.  This will update the file in the redirection area of your package.

  3. New informational intercepts were added to a few APIs that applications use that we want to gather information about.  We will use this information to determine if full intercept fixups are needed over the next 6 months.  The APIs that we are worried about are used for Named Pipes, and for COM and ActiveX activations.  These informational intercepts are in PsfRuntime for now, but any actual fixup would be either in MfrFixup or a potential new COMFixup.

This version of the PSF will be included in future releases of several vendor products, including:

  • PsfTooling  (next release after 6.14)
  • TMEditX Editor (next release after 6.1)
  • TMEditX Tooling (next release after 6.1)

For those unaware, PSF stands for Package Support Framework, an open-source utility that I contribute to for helping traditional Win32 and DotNet applications run inside the MSIX packaging container. This article contains information regarding new contributions.

Published
Categorized as PSF Tagged ,

By Tim Mangan

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