Various fixes for application compatibility#132
Various fixes for application compatibility#132dhoehna merged 9 commits intomicrosoft:developfrom TimMangan:master
Conversation
| sout << name << "="; | ||
| sout << "0x" << std::uppercase << std::setfill('0') << std::setw(8) << std::hex << value; | ||
| return sout.str(); | ||
| } |
| sout << "0x" << std::uppercase << std::setfill('0') << std::setw(8) << std::hex << value; | ||
| return sout.str(); | ||
| } | ||
| inline std::string InterpretAsHex(const char* name, INT value) |
|
Yo. About scripts. It came to my attention that the scripts run outside of the container when PSF is built using release mode. I modified the code to make the attribute list closer to CreateProcess. Now Powershell should always launch inside the container. You mention changes to help with scripts but I don't see it in your changes. Are there any code changes related to scripts? |
I did not attempt to solve the out of container issue. Unfortunately I included the script item in the PR description, but this is not included until the next PR. That PR will add the pseudo-environment variables to allow the script to reference files inside of the package under a %MsixPackageRoot% pseudo-variable. |
|
I see. So, this PR has everything in it? |
Everything in the PR description above except for the note about scripting is in this PR. THe scripting change, plus another 4 or 5 edge case fixes for certain API calls, will be in a follow-on PR once this one clears. |
* Moving breakout code to closer to CreateProcess call (#129) * Changing sing location for Psfmonitor * Adding output for PsfMonitor to PsfMonitor directory * Moving PsfMonitor stuff to it's own folder * Adding new files ot nuspec * Changing sing location for Psfmonitor * Adding output for PsfMonitor to PsfMonitor directory * Moving PsfMonitor stuff to it's own folder * Fixing issues * Using correct WIL macro * Moving code so atrribute list is in scopr to CreateProcess Co-authored-by: Darren Hoehna <dahoehna@microsoft.com> * Full PrivateProfile support (#124) * Complete PrivateProfile intercepts for FRF * Full PrivateProfile support * Full PrivateProfile support * Added PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * Various fixes for application compatibility (#132) * Complete PrivateProfile intercepts for FRF * Full PrivateProfile support * Full PrivateProfile support * Added PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * Replacement Post350 (#137) * Complete PrivateProfile intercepts for FRF * Full PrivateProfile support * Full PrivateProfile support * Added PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * Changes for script flexibility: Can be in any folder inside or outside package, may use quotation marks, may use new pseudovariables to reference the package root or user redirection area. * Updates to documentation on scripting. * Redo of Post350 Changes * Update for naming conventions * Added optional executionpolicy options to script configs. * Correction to scripting Bypass * Scripting documentation for ExecutionPolicy * Fix issue with sending files to StartingScriptWrapper. * Put wait back in for Shell Launch * Requested cleanups to PR137 * Document UrlDecode method. * Cleanup StripFileColonSlash * wrong merge fix for calling StartProcess Co-authored-by: Darren Hoehna <dhoehna@yahoo.com> Co-authored-by: Darren Hoehna <dahoehna@microsoft.com> * Target and Script pseudo-variables and cleaup of PR137 manual merge issues. (#138) * Making sure breakout does not occur with PS scripts Co-authored-by: Darren Hoehna <dahoehna@microsoft.com> Co-authored-by: Tim Mangan (MVP) <TIm@tmurgent.onmicrosoft.com>
* Moving breakout code to closer to CreateProcess call (#129) * Changing sing location for Psfmonitor * Adding output for PsfMonitor to PsfMonitor directory * Moving PsfMonitor stuff to it's own folder * Adding new files ot nuspec * Changing sing location for Psfmonitor * Adding output for PsfMonitor to PsfMonitor directory * Moving PsfMonitor stuff to it's own folder * Fixing issues * Using correct WIL macro * Moving code so atrribute list is in scopr to CreateProcess Co-authored-by: Darren Hoehna <dahoehna@microsoft.com> * Full PrivateProfile support (#124) * Complete PrivateProfile intercepts for FRF * Full PrivateProfile support * Full PrivateProfile support * Added PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * Various fixes for application compatibility (#132) * Complete PrivateProfile intercepts for FRF * Full PrivateProfile support * Full PrivateProfile support * Added PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * Replacement Post350 (#137) * Complete PrivateProfile intercepts for FRF * Full PrivateProfile support * Full PrivateProfile support * Added PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * PrivateProfile Tests * Changes for script flexibility: Can be in any folder inside or outside package, may use quotation marks, may use new pseudovariables to reference the package root or user redirection area. * Updates to documentation on scripting. * Redo of Post350 Changes * Update for naming conventions * Added optional executionpolicy options to script configs. * Correction to scripting Bypass * Scripting documentation for ExecutionPolicy * Fix issue with sending files to StartingScriptWrapper. * Put wait back in for Shell Launch * Requested cleanups to PR137 * Document UrlDecode method. * Cleanup StripFileColonSlash * wrong merge fix for calling StartProcess Co-authored-by: Darren Hoehna <dhoehna@yahoo.com> Co-authored-by: Darren Hoehna <dahoehna@microsoft.com> * Target and Script pseudo-variables and cleaup of PR137 manual merge issues. (#138) * Making sure breakout does not occur with PS scripts * Trm 20200529 (#145) * Fix bug when workingDirectory="" * Add missing files to master version that are present in the per-build version. * Added additional output to aid in debugging tests. * Add new fixup RegLegacyFixups * Added Test rigging for RegLegacyTest * Protect against calls with null strings, especially for the filename. * Add fix for local device path format ("\\.\") in filepath for CreateFile calls * constexpr wchar_t root_local_device_prefix_dot[] = LR"(\\.\)"; * Fix for Root Virtual Device paths * Fix for dos local paths * Add support to modify access to "Maximum_Allowed" * braces on if * remove logging files from the source. * removed commented out code. * consolidate if _Debugs * Make debug builds happy again. * Fix documentation json example * Brackets 2 * Update config.json Co-authored-by: Darren Hoehna <dahoehna@microsoft.com> Co-authored-by: Tim Mangan (MVP) <TIm@tmurgent.onmicrosoft.com>
This PR has three major areas of changes. Most are addressing issues found in specific applications that were recently tested.
A) Changes to PsfLauncher:
Directory Iteration bug. There was a bug in the launcher affecting certain apps that resulted in the launcher crashing.
Arguments. Support for target command arguments involving filepaths that are part of the package. We introduce a new pseudo-variable %MsixPackageRoot% that you can use in the config.json in the arguments field. The launcher will resolve this and start the command with the mounted path of the package (which could be different on different systems).
Shell Launches. Last year I added support for shortcuts to files that were not exe files by using a Shell launch. Unfortunately these shell launches run outside of the container, which is OK in some cases but not in others. The Shell launches will now attempt a technique recommended by Microsoft to launch these inside the container. These changes are now in place, but ultimately the MSIX Runtime still launches it externally. The changes do no harm so they are going in hoping that we can get a future change to the runtime to accommodate. Microsoft has not committed to anything on this yet, but see the scripting issue below.
Scripting Changes. NOTE: THIS CHANGE IS NOT INCLUDED IN THIS PR. IT WILL BE IN A FUTURE PR:
B) Changes to FileRedirectionFixup:
C) Changes to Tracing/Logging: