Does anybody know how to use the read from or write to Windows Registry actions? All I get are failures when trying.
An example would be trying to read from HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit the CurrentVersion key, which I know is there and set, fails to read. I set registry root to HKEY_LOCAL_MACHINE and key name to SOFTWARE\JavaSoft\Java Development Kit and value name to CurrentVersion but it still fails. Any help would be really appreciated.
Thanks.
Most likely you’re running a 32-bit installer, but you’re looking for the value in the 64-bit registry.
32-bit executables have their own software settings under
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node. The registry actions always read from the registry view that corresponds to the bitness of the installer. If you have installed a 64-bit JDK and no 32-bit JDK, the registry value you’re interested in will be empty in the 32-bit view of the registry.To check if this is really the problem in your case, try to select “Generate 64-bit executables” in the “32-bit or 64-bit” step of the media wizard, it should then work as expected.
With the API, you can set the registry view explicitly:
By using
RegistryView.BIT64andRegistryView.BIT32you can access the 64-bit view from a 32-bit installer and the 32-bit view from a 64-bit installer.