Jun 09 2020 03:45 AM
I have an application which creates a log file in the application install directory (e.g. C:\Program Files\xyz\) upon shortcut launch. This can achieved well by granting permissions to the folder xyz under C:\Program Files using a custom action script with a traditional WI approach. Well with the MSIX, how can we achieve this?
Jun 09 2020 04:52 AM
SolutionThis is a classic challenge where PSF (Package Support Framework) can help you, more specifically one of its fixups called File Redirection:
https://github.com/Microsoft/MSIX-PackageSupportFramework/tree/master/fixups/FileRedirectionFixup
You cannot set the permissions though, the MSIX has a built-in tamper protection, and prevents you from changing anything in the install directory. Instead, what PSF does for you is to redirect these calls to a place where there is a write grant (a special folder in local app data), and ensures that there is a transparent redirection on subsequent calls.
Some basic regular expression knowledge may be required to achieve the desired results (depending on the pattern for the files to be redirected). A step-by-step instruction is here:
https://docs.microsoft.com/en-us/windows/msix/psf/package-support-framework
Depending on the tooling you use, the support for PSF runtime from GUI may be also there, most of key players have already implemented it either way.
Jun 11 2020 07:13 AM
Expanding Marcin's answer, here is a link to my Microsoft Ignite 2018 talk where I demo exactly how you can fix such packages, using the free Express edition from Advanced Installer.
May 06 2022 04:46 AM
@Bogdan Mitrache Thanks so much for the video it was very usefull!. However i have noticed that if you try to do any redirections, advanced installer says you need the Architect Edition is that right? You seem to suggest you can do this using the Express edition?
May 09 2022 03:44 AM
Jun 09 2020 04:52 AM
SolutionThis is a classic challenge where PSF (Package Support Framework) can help you, more specifically one of its fixups called File Redirection:
https://github.com/Microsoft/MSIX-PackageSupportFramework/tree/master/fixups/FileRedirectionFixup
You cannot set the permissions though, the MSIX has a built-in tamper protection, and prevents you from changing anything in the install directory. Instead, what PSF does for you is to redirect these calls to a place where there is a write grant (a special folder in local app data), and ensures that there is a transparent redirection on subsequent calls.
Some basic regular expression knowledge may be required to achieve the desired results (depending on the pattern for the files to be redirected). A step-by-step instruction is here:
https://docs.microsoft.com/en-us/windows/msix/psf/package-support-framework
Depending on the tooling you use, the support for PSF runtime from GUI may be also there, most of key players have already implemented it either way.