{"id":4012,"date":"2025-04-12T09:39:59","date_gmt":"2025-04-12T13:39:59","guid":{"rendered":"https:\/\/www.tmurgent.com\/TmBlog\/?p=4012"},"modified":"2025-04-12T09:39:59","modified_gmt":"2025-04-12T13:39:59","slug":"psf-2025-04-12","status":"publish","type":"post","link":"https:\/\/www.tmurgent.com\/TmBlog\/?p=4012","title":{"rendered":"PSF 2025.04.12"},"content":{"rendered":"\n\n\n<p align=center><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"300\" class=\"wp-image-3368\" style=\"width: 300px;  padding: 5px\" src=\"https:\/\/www.tmurgent.com\/TmBlog\/wp-content\/uploads\/2022\/01\/PsfLogo.png\" alt=\"Psf Logo\" srcset=\"https:\/\/www.tmurgent.com\/TmBlog\/wp-content\/uploads\/2022\/01\/PsfLogo.png 500w, https:\/\/www.tmurgent.com\/TmBlog\/wp-content\/uploads\/2022\/01\/PsfLogo-300x180.png 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/p>\n<p><em>The Package Support Framework (PSF) was originally a Microsoft open-source project to help Win32\/DotNet applications run when inside an MSIX Container.\u00a0 TMurgent has taken up the support for the PSF in our own fork <a href=\"https:\/\/github.com\/TimMangan\/MSIX-PackageSupportFramework\" target=\"_blank\" rel=\"noopener\">here on GitHub<\/a>.<\/em><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Detours: Changes to enable intercepts of new patterns<\/li>\n\n\n\n<li>MfrFixup: Changes to ShellExecute, ShellExecuteEx for debugging in release mode<\/li>\n\n\n\n<li>MfrFixup: Changes to NtCreateFile and NtOpenFile for debugging in release mode<\/li>\n\n\n\n<li>MfrFixup: ShortName improvements<\/li>\n\n\n\n<li>MfrFixup\/FileRedirectionFixup: Another needed change for case insensitive file matching. <\/li>\n\n\n\n<li>General: Debugging improvements in debug mode<\/li>\n<\/ul>\n\n\n\n<p>These fixes solve a number of issues we have been seeing, especially with 32-bit apps needing file based fixups on the 64-bit OS.<\/p>\n<p>A pre-deprecation notice was also added to the wiki documentation for PsfTrace\/PsfMonitor.\u00a0 We don&#8217;t really use these much any more and regular maintenance is not being performed, but we will fix something if needed.<\/p>\n<p>This version of the PSF will be added to the following releases of popular software as noted:<\/p>\n<ul>\n<li>PsfTooling\u00a0 6.13 or later<\/li>\n<li>TMEditX\u00a0 \u00a0 \u00a05.7 or later<\/li>\n<\/ul>\n\n\n\n<p class=\"has-subtle-background-background-color has-text-color has-background\"><strong><em>For those unaware, PSF stands for&nbsp;<\/em>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. <\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>These fixes solve a number of issues we have been seeing, especially with 32-bit apps needing file based fixups on the 64-bit OS. A pre-deprecation notice was also added to the wiki documentation for PsfTrace\/PsfMonitor.\u00a0 We don&#8217;t really use these much any more and regular maintenance is not being performed, but we will fix something&hellip; <a class=\"more-link\" href=\"https:\/\/www.tmurgent.com\/TmBlog\/?p=4012\">Continue reading <span class=\"screen-reader-text\">PSF 2025.04.12<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[53,56],"tags":[54],"class_list":["post-4012","post","type-post","status-publish","format-standard","hentry","category-msix","category-psf","tag-psf","entry"],"_links":{"self":[{"href":"https:\/\/www.tmurgent.com\/TmBlog\/index.php?rest_route=\/wp\/v2\/posts\/4012","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tmurgent.com\/TmBlog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tmurgent.com\/TmBlog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tmurgent.com\/TmBlog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tmurgent.com\/TmBlog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4012"}],"version-history":[{"count":1,"href":"https:\/\/www.tmurgent.com\/TmBlog\/index.php?rest_route=\/wp\/v2\/posts\/4012\/revisions"}],"predecessor-version":[{"id":4013,"href":"https:\/\/www.tmurgent.com\/TmBlog\/index.php?rest_route=\/wp\/v2\/posts\/4012\/revisions\/4013"}],"wp:attachment":[{"href":"https:\/\/www.tmurgent.com\/TmBlog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4012"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tmurgent.com\/TmBlog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4012"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tmurgent.com\/TmBlog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4012"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}