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.
Version 2025.02.22 of the Package Support Framework has been released. So, what is new in it?
Features
- Added support for “SynnstemApps”, an undocumented VFS variable that we uncovered. This support affects the MfrFixup, and the FileRedirectionFixup.
- Added and fixed support for “UserProfiles” and “Profile” variables in MfrFixup.
- Add the “AppData\Microsoft\Windows\Recent” folder to the list of folders in MfrFixup that redirect to local, by default.
- In MfrFixup, added support to intercept ntdll based NtQueryDirectoryFile and NtQueryDirectoryFileEx to support apps that bypass the FindFirst like functions in kernel32. We were seeing this most often in apps ported from Linux.
- Added proper directory handling for apps that use the old style Winforms dialog pickers (the ones that look like they came from Windows XP) in MfrFixup.
CHANGES AND FIXES
- MfrFixup fix for the mapping of virtual directories in an “edge case” involving the root folder of the C: drive.
- MfrFixup changes to improve the results when an app “walks through” the user profile directory to get to any of the folders under AppData.
- PsfRuntime change to add an expected-to-fail read of a dummy non-existent registry key HKCU\Software\PSF_READY_MARKER that will show up in Process Monitor traces to indicate that the PSF is fully injected and configured and the application process is about to start running. This helps you know where to start looking in the trace.
- RegLegacyFixup: added debug output to the debug console port (use DebugView) whenever an application gets an AccessDenied return from a registry request. This will make it easier to see that the app is trying to write to HKLM and is probably not a good candidate for MSIX right now.
- Added versioning information to the 64-bit PSF components that were missing the version setting in the last release.
- Solved issue when using the Debug build of the PSF that generated the “2_Ctr_new_delete:” issue that crashed certain apps when you were debugging them.
- Fix in FindClose that could cause an application that bypassed the FindFile but closed the handle, and caused a crash in the FileRedirectionFixup and MfrFixup.
- Reduction in lower-level file calls made in the MFRFixup to the same path. The MFRFixup often needs to check the native local, package, and redirected paths, but for certain paths we would end up checking the same path more than once. Logic was put in place to reduce this.
DEPRECATION NOTICE
- Added a deprecation notice in the documentation for FileRedirectionFixup. We have been recommending the MfrFixup as a superior replacement for this fixup for some time. While the FileRedirectionFixup will remain in the build for some time, we are no longer actively updating it, except in cases where code is shared between them.
This version of the PSF is scheduled to be added to the following software, when released:
- PSFTooling version: 6.12 or above
- TMEditX version: 5.6 or above
No dates for those releases are available at this time.