If a local registry key or file has special permissions required by a local version of the portable app, currently we lose them.
Example:
When you install Steam, at install time it sets HKLM\SOFTWARE\Valve to have full access by the Users group, so even limited users can write to it.
This key should be portablized so my launcher I am making does so. However this resets the permissions since they are not preserved. My launcher runs as admin to ensure its access to this key (and thus avoids this problem), but a local Steam may not, and will force a repair install to fix it.
Anyways it would be nice if there was some way to preserve the permissions. There is an AccessControl plugin for NSIS that appears to be a nice way to fix known individual permissions but it cannot export/import access control lists so that isn't a generic option.
Another suggestion for registry is to try exporting as .hiv files, as I think those preserve their permissions better.
As Steam will likely be the only app with this issue, I don't know that we need to worry about it overall in PAL. Just that you'll need some custom code in PAL with the AccessControl plugin added to NSISu so that you can handle it. If running in admin mode, you can set the permission to the Users group again after Steam exits so that the local install doesn't need to be repaired. That being the case, I think simply noting this in the PAL manual is sufficient.
Any other thoughts?
UPDATE: As this only affects a single app that will likely not go official, is a non-standard issue, and can be fixed with custom code, I am closing this bug.
Sometimes, the impossible can become possible, if you're awesome!