microsoft / MSIX-PackageSupportFramework

The Package Support Framework (PSF) is a kit for applying compatibility fixes to packaged desktop applications.
MIT License
114 stars 57 forks source link

Deletion Marker Fixup #245

Closed mridul-ms closed 10 months ago

mridul-ms commented 10 months ago

Why this change is required?

This change is required to support Deletion Markers in MSIX. Deletion Marker is used to hide a registry key or value in the virtual environment.

What changed?

  1. RegLegacyFixups : a. Initialize Fixups - changes to store deletion marker fixup from config. b. RegistryFixups - detour for APIs
  2. Tests

How this change has been tested?

Added automated tests for each detoured API.

dhoehna commented 10 months ago

What is a deletion marker?

mridul-ms commented 10 months ago

@dhoehna In App-V, a deletion marker for registry is a special marker that is created (during monitoring of changes during creation of App-V package with App-V sequencer), in the registries (with a special ‘Type’) when a registry key is deleted from a virtual environment. This marker is stored in the virtual registry and is used by the App-V client to ensure that the deleted registry key is not included in the virtual environment when the package is streamed or deployed to client computers.

rahul89dadhich commented 10 months ago

[like] Rahul Dadhich reacted to your message:


From: mridul-ms @.> Sent: Wednesday, November 8, 2023 7:59:45 AM To: microsoft/MSIX-PackageSupportFramework @.> Cc: Rahul Dadhich @.>; Review requested @.> Subject: Re: [microsoft/MSIX-PackageSupportFramework] Deletion Marker Fixup (PR #245)

@dhoehnahttps://github.com/dhoehna In App-V, a deletion marker for registry is a special marker that is created (during monitoring of changes during creation of App-V package with App-V sequencer), in the registries (with a special ‘Type’) when a registry key is deleted from a virtual environment. This marker is stored in the virtual registry and is used by the App-V client to ensure that the deleted registry key is not included in the virtual environment when the package is streamed or deployed to client computers.

— Reply to this email directly, view it on GitHubhttps://github.com/microsoft/MSIX-PackageSupportFramework/pull/245#issuecomment-1801269554, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A2HKLPWAIRBFPQZPRC2XT2TYDM3XDAVCNFSM6AAAAAA67ADV7OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBRGI3DSNJVGQ. You are receiving this because your review was requested.Message ID: @.***>

dhoehna commented 10 months ago

Mridul and I discussed offline about case-insensitive compare.

@mridul-ms Please make a bug on PSF for changing these comparisons to case-insensitive.

npuvvada commented 10 months ago

Please add relevant documentation in RegLegacy readme file to explain purpose of this fixup and how it can be configured.

mridul-ms commented 10 months ago

@dhoehna Created an issue for Case insensitive comparision. https://github.com/microsoft/MSIX-PackageSupportFramework/issues/247