Issue Launching Applications Using PSF

%3CLINGO-SUB%20id%3D%22lingo-sub-2245312%22%20slang%3D%22en-US%22%3EIssue%20Launching%20Applications%20Using%20PSF%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2245312%22%20slang%3D%22en-US%22%3E%3CP%3EHi%20All%2C%20I've%20been%20having%20issues%20trying%20to%20launch%20MSIX%20applications%20that%20need%20remediation%20via%20the%20PSF.%20There%20are%20a%20few%20different%20applications%20I've%20been%20working%20with%20the%20PSF%20to%20resolve%20various%20issues%20but%20it%20looks%20like%20other%20people%20have%20used%20Notepad%2B%2B%20as%20an%20example%20here%20so%20I%20will%20as%20well.%3CBR%20%2F%3E%3CBR%20%2F%3EI'm%20almost%20certain%20there%20is%20something%20missing%20from%20my%20hierarchy%20of%20knowledge%20as%20to%20how%20the%20PSF%20operates%20and%20something%20basic%20is%20missing%20or%20our%20of%20place%20here.%20I've%20been%20editing%20the%20files%20in%20vscode%20and%20testing%20on%20devices%20running%2020H2.%20However%2C%20when%20launched%20the%20psfLauncher64.exe%20will%20run%20silently%20and%20notepad%2B%2B%20never%20launches.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThe%20issue%20I'm%20attempting%20to%20resolve%20with%20PSF%20is%20the%20MSIX%20converted%20Notepad%2B%2B%20tries%20to%20create%20xml%20files%20in%20the%20root%20directory.%20These%20attempts%20bring%20visible%20errors%20forward%2C%20'Error%20Langs.xml'%20and%20such.%26nbsp%3B%3CBR%20%2F%3E%3CBR%20%2F%3EThe%20PSF%20files%20are%20in%20the%20root%20of%20the%20MSIx%20Package.%3CBR%20%2F%3E%3CBR%20%2F%3EAppxManifest%20snippet%3A%3C%2FP%3E%3CDIV%3E%3CDIV%3E%3CDIV%3E%3CDIV%3E%3CSPAN%3E%26lt%3B%3C%2FSPAN%3E%3CSPAN%3EApplication%3C%2FSPAN%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%3EId%3C%2FSPAN%3E%3CSPAN%3E%3D%3C%2FSPAN%3E%3CSPAN%3E%22NOTEPAD%22%3C%2FSPAN%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EExecutable%3C%2FSPAN%3E%3CSPAN%3E%3D%3C%2FSPAN%3E%3CSPAN%3E%22PSFLauncher64.exe%22%3C%2FSPAN%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EEntryPoint%3C%2FSPAN%3E%3CSPAN%3E%3D%3C%2FSPAN%3E%3CSPAN%3E%22Windows.FullTrustApplication%22%3C%2FSPAN%3E%3CSPAN%3E%26gt%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CP%3E%3CBR%20%2F%3EConfig.json%3A%3CBR%20%2F%3EI%20have%20tried%20using%20the%20%22NOTEPAD%22%20Application%20ID%20as%20well.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-json%22%3E%3CCODE%3E%7B%0A%20%20%20%20%22applications%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22id%22%3A%20%22PSFLAUNCHERSIXFOUR%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22executable%22%3A%20%22VFS%2FProgramFilesX64%2FNotepad%5C%5C%2B%5C%5C%2B%2Fnotepad%5C%5C%2B%5C%5C%2B.exe%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22workingDirectory%22%3A%20%22VFS%2FProgramFilesX64%2FNotepad%5C%5C%2B%5C%5C%2B%2F%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%2C%0A%20%20%20%20%22processes%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22executable%22%3A%20%22notepad%5C%5C%2B%5C%5C%2B%24%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22fixups%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22dll%22%3A%20%22FileRedirectionFixup64.dll%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22config%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22redirectedPaths%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22packageRelative%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22base%22%3A%20%22VFS%2FProgramFilesX64%2FNotepad%5C%5C%2B%5C%5C%2B%2F%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22patterns%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22.*%5C%5C.xml%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2246347%22%20slang%3D%22en-US%22%3ERe%3A%20Issue%20Launching%20Applications%20Using%20PSF%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2246347%22%20slang%3D%22en-US%22%3E%3CP%3EHi%20%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F641540%22%20target%3D%22_blank%22%3E%40Vanbogie1200%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EManually%20building%20the%20JSON%20config%20is%20error-prone%20and%20time-consuming.%20Personally%2C%20I%20never%20built%20one%20manually%20(so%20it's%20hard%20for%20me%20to%20say%20if%20something%20is%20wrong%20with%20your%20sample)%2C%20it%20is%20way%20easier%20to%20just%20use%20the%20free%20%3CA%20href%3D%22https%3A%2F%2Fwww.advancedinstaller.com%2Fexpress-edition.html%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3EExpress%20edition%20from%20Advanced%20Installer%3C%2FA%3E%20to%20config%20the%20fixups%20from%20its%20GUI%2C%20and%20the%20JSON%20gets%20generated%20automatically.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EMore%20details%3A%20How%20the%20%3CA%20href%3D%22https%3A%2F%2Fwww.advancedinstaller.com%2Fsmart-psf-msix-fixups.html%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3EPSF%20integration%20from%20Advanced%20Installer%3C%2FA%3E%20works.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CEM%3EDisclaimer%3A%20I%20work%20on%20the%20team%20building%20Advanced%20Installer.%3C%2FEM%3E%3C%2FP%3E%3CDIV%20class%3D%22ms-editor-squiggler%22%3E%26nbsp%3B%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2246380%22%20slang%3D%22en-US%22%3ERe%3A%20Issue%20Launching%20Applications%20Using%20PSF%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2246380%22%20slang%3D%22en-US%22%3EAdditional%20help%3A%3CBR%20%2F%3E%3CBR%20%2F%3E-%20How%20to%20build%20and%20MSIX%20package%20for%20Notepad%2B%2B%3CBR%20%2F%3E%3CA%20href%3D%22https%3A%2F%2Fwww.advancedinstaller.com%2Fnotepad-plus-plus-msix.html%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.advancedinstaller.com%2Fnotepad-plus-plus-msix.html%3C%2FA%3E%3CBR%20%2F%3E%3CBR%20%2F%3E-%26nbsp%3BHow%20to%20Add%20Notepad%2B%2B%20plugins%20to%20an%20MSIX%20package%3CBR%20%2F%3E%3CA%20href%3D%22https%3A%2F%2Fwww.advancedinstaller.com%2Fnotepad-plus-plugins-msix.html%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.advancedinstaller.com%2Fnotepad-plus-plugins-msix.html%3C%2FA%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2262193%22%20slang%3D%22en-US%22%3ERe%3A%20Issue%20Launching%20Applications%20Using%20PSF%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2262193%22%20slang%3D%22en-US%22%3EI%20used%20Advanced%20installer%20to%20create%20the%20redirection%20and%20got%20slightly%20better%20results.%20Notepad%20actually%20launches%20but%20the%20xml%20errors%20are%20still%20there.%20At%20least%20that's%20something%20to%20work%20with.%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2264991%22%20slang%3D%22en-US%22%3ERe%3A%20Issue%20Launching%20Applications%20Using%20PSF%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2264991%22%20slang%3D%22en-US%22%3EYou%20need%20to%20add%20a%20file%20redirection%20fixup%20for%20the%20XML%20files.%20Check%20out%20the%20following%20videos%20-%20Advanced%20Installer%20tries%20to%20add%20the%20fixups%20automatically%20when%20you%20use%20the%20%22Trace%22%20functionality%20or%20you%20can%20manually%20add%20them%20from%20the%20GUI.%3CBR%20%2F%3E%3CBR%20%2F%3ESmart%20Fixups%20(auto)%20demo%3A%20%3CA%20href%3D%22https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DHW0ph3dHVFk%26amp%3Bab_channel%3DAdvancedInstaller%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DHW0ph3dHVFk%26amp%3Bab_channel%3DAdvancedInstaller%3C%2FA%3E%3CBR%20%2F%3EPSF%20Ignite%20demo%3A%20%3CA%20href%3D%22https%3A%2F%2Fyoutu.be%2Ff3Z7j1XEPgs%3Ft%3D774%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fyoutu.be%2Ff3Z7j1XEPgs%3Ft%3D774%3C%2FA%3E%3C%2FLINGO-BODY%3E
Occasional Contributor

Hi All, I've been having issues trying to launch MSIX applications that need remediation via the PSF. There are a few different applications I've been working with the PSF to resolve various issues but it looks like other people have used Notepad++ as an example here so I will as well.

I'm almost certain there is something missing from my hierarchy of knowledge as to how the PSF operates and something basic is missing or our of place here. I've been editing the files in vscode and testing on devices running 20H2. However, when launched the psfLauncher64.exe will run silently and notepad++ never launches.

 

The issue I'm attempting to resolve with PSF is the MSIX converted Notepad++ tries to create xml files in the root directory. These attempts bring visible errors forward, 'Error Langs.xml' and such. 

The PSF files are in the root of the MSIx Package.

AppxManifest snippet:

<Application Id="NOTEPAD" 
Executable="PSFLauncher64.exe" 
EntryPoint="Windows.FullTrustApplication">


Config.json:
I have tried using the "NOTEPAD" Application ID as well.

 

{
    "applications": [
        {
            "id": "PSFLAUNCHERSIXFOUR",
            "executable": "VFS/ProgramFilesX64/Notepad\\+\\+/notepad\\+\\+.exe",
            "workingDirectory": "VFS/ProgramFilesX64/Notepad\\+\\+/"
        }
    ],
    "processes": [
        {
            "executable": "notepad\\+\\+$",
            "fixups": [
                {
                    "dll": "FileRedirectionFixup64.dll",
                    "config": {
                        "redirectedPaths": {
                            "packageRelative": [
                                {
                                    "base": "VFS/ProgramFilesX64/Notepad\\+\\+/",
                                    "patterns": [
                                        ".*\\.xml"
                                    ]
                                }
                            ]
                        }
                    }
                }
            ]
        }
    ]
}

 

 

4 Replies

Hi @Vanbogie1200 

 

Manually building the JSON config is error-prone and time-consuming. Personally, I never built one manually (so it's hard for me to say if something is wrong with your sample), it is way easier to just use the free Express edition from Advanced Installer to config the fixups from its GUI, and the JSON gets generated automatically.

 

More details: How the PSF integration from Advanced Installer works.

 

Disclaimer: I work on the team building Advanced Installer.

 
Additional help:

- How to build and MSIX package for Notepad++
https://www.advancedinstaller.com/notepad-plus-plus-msix.html

- How to Add Notepad++ plugins to an MSIX package
https://www.advancedinstaller.com/notepad-plus-plugins-msix.html
I used Advanced installer to create the redirection and got slightly better results. Notepad actually launches but the xml errors are still there. At least that's something to work with.
You need to add a file redirection fixup for the XML files. Check out the following videos - Advanced Installer tries to add the fixups automatically when you use the "Trace" functionality or you can manually add them from the GUI.

Smart Fixups (auto) demo: https://www.youtube.com/watch?v=HW0ph3dHVFk&ab_channel=AdvancedInstaller
PSF Ignite demo: https://youtu.be/f3Z7j1XEPgs?t=774