View Full Version : Registry Virtualization and ISX 2011

06-02-2011, 07:50 PM
I need someone to point me in the right direction to solve the mystery of how to get ISX 2011 to initialize Registry keys under HKLM\Software\MyCompanyName (without hiding or redirecting them to a virtual store) when installing on Windows Vista or Windows 7.

I have an application that we have been packaging with InstallShield Express since forever. The single-file distribution kit installs a couple of exes that run as services, together with a couple that run as interactive GUIs, plus some command line executables. All of these programs READ (never write) hundreds of keys that are created at installation time in the Windows Registry. If I build a distribution (setup.exe) with either ISX 2009 or ISX 2011, everything works beautifully when the application is installed on Windows 2003 or Windows XP. But when the same setup.exe is run on Windows Vista, the Registry keys don't show up (aren't visible) to an Administrator running regedit. This is critical because the system manager MUST have access to view and edit these Registry keys via regedit. The applications will only read them, but the system manager (and local or domain admin) must be able to inspect, view and edit the Registry keys.

So is there some way I can get ISX to create the Registry keys in the "standard" location under HKLM\Software\MyCompanyName\MyProductName ?

What do I have to do to make this happen? I assume that the fact that my application's Registry keys are not displayed by regedit has something to do with Registry Virtualization. If this is so, then maybe if the setup.exe created by ISX could set REG_KEY_DONT_VIRTUALIZE for the hive it is going to create, then maybe this would solve the problem ?

Suggestions, pointers, answers or miracles anyone? Surely others must have solved this already. Is there already a post somewhere in this forum on this topic? If so, I couldn't find it.

06-03-2011, 01:10 PM
Have you looked under HKLM\Software\Wow6432Node\MyCompanyName\MyProductName? This is the standard location for registry keys of 32-bit applications on a 64-bit machine, and you should document this for your administrative users rather than fight it. (You don't specify whether your Vista machine is a different architecture than your non-Vista machines, but it is the most likely case that comes to mind).

If you want to install to the 64-bit location (the paths of which read like what you're used to seeing), you would need 64-bit support in your installer, which is only available in the Professional and Premier editions.