I supposed I've left this question open long enough. Here are my findings.
There does not appear to be any way to access both the Virtual Store and the 'real' registry and file-system from the same process. The Virtual Store is applied automatically to Windows applications which do not specify the requestedExecutionLevel
, and which are not launched "As Admin."
The answer, then, appears to be a specialized "migration" application. This application will not specify the requestedExecutionLevel
, thereby guaranteeing that the application will be placed into the "Virtual Store," when launched without administrative privileges. The application operates in 2-stages:
- Launch the application without administrative access. The application will read the desired registry keys and file-system files from the Virtual Store, and save them in some temporary (non-virtualized) location like the user's AppData directory.
- Re-launch the application with administrative access. The application could actually do this for itself, automatically, to streamline the process. The application will now have access to the "real" registry and file system. The application will save the registry keys and files which backed-up from the Virtual Store, saving them to the desired 'real' location.
This application would ideally be somewhat generic, accepting any user-specified registry keys and files as input arguments during launch.