When I wrote an article a while back about the setting up a non-production database, I thought that I had the registry and how Blackbaud use it well understood. Of course that was before Vista, Windows 7 and elevated admin rights.
Whenever you are asked to install a program or make a system change you are prompted to accept the system change. You do so by temporary assuming role of uber-system admin. When I start Visual Studio I do so as an administrator so that on building applications I can automatically make changes to the registry (Visual Studio will not let me successfully build the applications otherwise). When I run Raiser’s Edge from Visual Studio I am automatically logged into RE as an administrator. What struck me was that whenever I made a change in the registry to the Blackbaud database area (e.g. HKEY_LOCAL_MACHINE\SOFTWARE\Blackbaud\REINI_1) this change would only be reflected immediately on the administrator log in. I assumed that there must be a setting or a file that affects how regular users see these settings. I did not think much of it until I wanted to get rid of an old setting that was not working but could not. I searched for that database and found it in an unexpected location.
The new location: HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Blackbaud had the same structure as the local machine location. When I changed the settings there they affected the non-admin user. Non-admin users have the rights to change the local user profile in the registry without elevated permission.
I still cannot get rid of that annoying “Migrate an Existing Database” link that appears when you reinstall RE. It did disappear for a while but now it is back…