views:

23

answers:

1

I am using the Visual Studio 2008 Installer. I am trying to set a registry value and it is included in the Setup project. After I install the application using the setup that I created, the registry value doesn't show.

I have followed all the steps listed here.

Why could this be happening?

+2  A: 

The registry key is created probably under HKLM\Software\WOW6432Node (see Registry Redirector). If you install 32-bit application and the application will read later from the software key some values from HKLM\Software, that such requests will be redirected to HKLM\Software\WOW6432Node. So If you installed 32-bit application the Windows Installed made probably all correct.

If you do want to install a 64-bit application, the you should make small changes in your MSI file. You should follow http://msdn.microsoft.com/en-us/library/aa367451.aspx and make all changes described in http://msdn.microsoft.com/en-us/library/aa367430.aspx.

Oleg
The registry value isn't in WOW6432Node. Thanks for the suggestion.
zooropa
You can start `msiexec.exe /I My.msi /L*v %TEMP%\My.Log` to create full log file and find out where the reg entry created.
Oleg
The value was not shown in the log. Weird. I think there must be an issue with installing on XP 64-bit
zooropa
If reg value really not installed you fill be able to see in log file that the component to which reg belong is also not installed. You can open MSI for example with Orca (see http://msdn.microsoft.com/en-us/library/aa370557.aspx), find in the `Registry` table the name of the component (find the key in `Key` column and see component name in `Componant_`) then find in the `Component` table the component and verify the `Condition` and the `KeyPath`. Either the condition is wrong or the `KeyPath` point to the file which will be not installed. For example because of existence of new version.
Oleg
If the `KeyPath` is wrong for the component you can change it. Another reason can be `Attributes` of the component. I would be very careful verify all information about the component. Read very carefully the description of all columns under http://msdn.microsoft.com/en-us/library/aa368007.aspx abd decode all attributes. Your problem is somewhere here. Search in Log file any information about the component. Probably the answer why the component was not installed your will better find here.
Oleg
I'll accept this answer even though it didn't solve my problem. This is the correct location to look for 32 bit application registry settings.
zooropa