SWV's New Instant On Registry Hive and Other Registry Changes in 6.1 SP1
Software Workspace Virtualization 6.1 Service Pack 1 contains many things: Windows 7 Support, myriad bug fixes, and some performance improvements, but there are two changes that can adversely affect an existing setup if you custom software to manage your layers. Both of these changes are registry-based, and while one, changing the Layer's Metadata location, is small, the other is very large. We're calling it "Instant On Registry", and it can cause a lot of headaches - but the benefits are worth it.
The Layer Metadata is the location in the registry where information, such as the layer's name, GUID, flags and other information that are displayed when you bring up the layer info screen, is stored. Prior to SWV 6.1 SP1, this information was located at HKEY_LOCAL_MACHINE\SYSTEM\Altiris\FSL\# where # is the layer's Magic Number. Now, all that information is located at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\FSLX\Parameters\FSL\#.
The main reason for this change is for better Windows 7 support. Windows 7 expects certain information to be in certain places and it wasn't where it needed to be. This is the reason why you cannot upgrade from Windows Vista to Windows 7 if you have a pre-SP1 build of SWV or SVS installed on your system.
This change could break custom software (and tools here on Connect) if the developer hard-coded the location of the Metadata instead of using an API to pull out the location, which has always been the recommended practice. Also, power users will have to get used to the new location; it took me quite a while to adjust to this myself and I generally have to be looking at this information every day.
Instant On Registry
I feel this is one of the more significant changes we've made to SVS\SWV since I started working on the product. Starting with SWV 6.1 SP1, upon activation, we're hive mounting a layer's registry data instead of placing it at HKEY_LOCAL_MACHINE\SOFTWARE\fslrdr upon import. What this means is that the layer's registry doesn't exist until the layer is activated, which greatly improves import and streaming time of a VSA file.
So how does Instant On Registry affect you? Well, there are a couple of big changes that you need to be aware of for any type of management, backup or custom software.
First off (and this is the biggest issue), the layer's registry doesn't exist until activation, so anything, such as SWVadmin's advanced layer editor, that edits or needs access to the virtualized registry inside the layer won't be able to find it unless the layer is active - or you call one of the new API that will mount the registry have, which I'll discuss in a separate article.
Secondly, once a hive is mounted, nothing else can access it. That's how Windows behaves, so software that backs up the registry or file system won't be able to access those files - even for read access.
Thirdly, the Registry Redirect location is now different. Instead of a layer's registry data being located at HKEY_LOCAL_MACHINE\SOFTWARE\fslrdr\# it's now located at the root of HKEY_LOCAL_MACHINE and each sub-layer is named _SWV_LAYER_# where # is the layer's Magic Number. So, like the Metadata change, if you had the old Registry Redirect location hardcoded into some code or script, then that program will no longer work.
Lastly, sometimes a hive won't un-mount because some process either has an open handle to something in the hive or the process leaked a handle to the hive. Both of these won't affect SWV; you'll still be able to Export, Reset and Activate the layer but other software, such as your backup software, won't be able to access those files. The hives will always dismount with a system restart and will sometimes release over time and for the most part this issue shouldn't affect users.