mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-07-10 04:20:23 +02:00
MSIX sparse package registration adds AppContainer SIDs to the ExternalLocation folder DACL on Windows 23H2. When ExternalLocation pointed to the root install folder, prevhost.exe (LOW integrity) got ACCESS_DENIED loading preview handler DLLs. This isolates the 4 context menu COM DLLs and .msix packages into a ContextMenu\ subfolder so DACL changes don't affect the root folder. Changes: - Set OutDir to ContextMenu\ in all 4 context menu vcxproj files - Update ExternalLocation path in 3 module DLLs (ImageResizer, PowerRename, FileLocksmith) and NewPlus MSIX registration - Add ..\\ prefix to icon/EXE paths in 4 context menu DLLs - Update runner to load NewPlus from ContextMenu\ subfolder - Add ContextMenu.wxs installer fragment and update Product.wxs/wixproj - Use CopyFileToFolders for MSIX assets to ensure they copy to root Assets\ - Add empty-filename guard in generateAllFileComponents.ps1 - Update verification script paths Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>