Andrew Cherry [MSFT]
Hi Kulvinder -
You almost certainly need to follow the linked steps.
In order to improve security in Vista, certain changes were made to the way that the registry is handled. With UAC turned OFF, the secure decision was to restrict even read access when not running as Administrator. Most likely, complications around this area are leading to your problems.
As to needing to create two setups: if you're only executing per-user installations, then you should only need to write to HKCU. Using HKLM is deprecated for multi-user installs due to maintenance concerns; we're working on an improved story around this restriction. As a practical matter, HKLM causes issues as you've discovered on Vista when UAC is turned off; Read access doesn't prompt for elevated privileges, but the access fails with UAC turned off -- by design. You shouldn't need to create two setups; I'd suggest following the linked steps to clear up your issues.
Thanks,
Andrew