microsoft / OpenXR-MixedReality

OpenXR samples and preview headers for HoloLens and Windows Mixed Reality developers familiar with Visual Studio
https://aka.ms/openxr
MIT License
340 stars 96 forks source link

OpenXR Tools for Windows Mixed Reality should not be sandboxed #114

Open fredemmott opened 2 years ago

fredemmott commented 2 years ago

The sandboxing means that OpenXR Tool's information does not reflect the user's real configuration, so can be a very misleading debugging tool.

Missing API layers

OpenKneeboard by default installs an OpenXR API layer via HKCU, to avoid unneeded elevation. OpenXR Tools will not include it in the list of API layers - for example, in this screenshot, OpenXR Toolkit is installed via HKLM and appears in both OpenXR tools and OpenXR Explorer, however OpenKneeboard is installed via HKCU and only shows up in OpenXR Explorer:

image

Unrepresentative ACLs

If an 'everyone'-readable/executable API layer is installed, but it is not readable by the restricted package users (which are not part of everyone), OpenXR Tools will hard-fail - for example, if OpenKneeboard is set to install OpenXR for 'all users', the layer files are in C:\ProgramData which does not have the restricted app ACLs, leading to this:

image

fredemmott commented 2 years ago

In the latter case, DbgView shows:

[22956] Error [GENERAL |  | OpenXR-Loader] : Unknown failure: exists: Access is denied.: "C:\ProgramData\OpenKneeboard\OpenKneeboard-OpenXR.json"