views:

27

answers:

1

I'm trying to check for SharePoint 2010 being installed before permitting the installer to continue. In order for this to happen, I added the following "Search Target Machine" property:

Name = "Search for MOSS2010"
Property = SHAREPOINT2010INSTALLED
RegKey = SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\14.0
Root = vsdrrHKLM
Value = SharePoint

On my system, the path indicated exists and the Value "SharePoint" is "Installed"

Now, I added a Launch Condition:
Name = SharePoint 2010 Installed
Condition = SHAREPOINT2010INSTALLED="Installed"
InstallUrl = (blank)
Message = SharePoint 2010 must be installed prior to installation of this package.

Now, on my system, with SP2010 installed, this is evaluating as false, because the installer is failing with the above message.

Is there a way to debug the Properties value at install-time? Or is there something stupid I'm doing?

Thanks.

+1  A: 

It sounds like your installer may be (for example) a 32-bit installer, but the registry keys may be in the 64-bit registry (or vice-versa).

To create a 64-bit installer via Visual Studio, see: http://msdn.microsoft.com/en-us/library/cd7a85k9.aspx

Oren
I had thought that the 32/64 bit registry ghosting was for the HKCR section, and not the entire HKLM.
Eli
If Sharepoint is writing to the 64-bit HKLM, then a 32-bit process will not see it at all. If it is writing to the 32-bit HKLM then you need to look under Software\Wow6432Node to get the 32bit values from a 64bit process.
Oren
Well, I'll be darned!It was the entire Software hive after all.Thanks!
Eli