4

I have a windows installer project which installs some software (winform, service, mce addin). During the installation I need to search the machine for a registry key. This is done with with the "Launch Condition" -> "Add Registry Search" (Deployment Project).

I have filled out all the properties right, and checked against the regestry that the value actually can be found.

The problem is that the "Registry Search" searches in the x86 part of the registry (HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\...) although my system is a x64 and the deployment setup is also set to x64.

Does anyone know how to force the "Registry Search" to search the x64 registry? Or know about a workaround?

The weird thing about this, is that Registry setting in the deployment setup is writing to the right registry (x64). My idea is that the "Registry Search" program is only developed to the x86 architecture, and therefore can't read the right registry.

I found this article from microsoft, so it seams that they know about this problem. https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=110105&wa=wsignin1.0#details

My system is:
Windows 7 64bit
Visual Studio 2008

Joonas Kirsebom
  • 109
  • 1
  • 10
  • I have exactly the same problem. Using Process Monitor I can see it looking in the wrong registry key node even when I have configured the installer to target the x64 architecture. It would be very useful to know what it bases this decision on. – glenatron Feb 03 '11 at 15:03

1 Answers1

3

I found a solution for this. I modified the script made from Microsoft, and the script have to run after each build. Check out how here

Joonas Kirsebom
  • 109
  • 1
  • 10