Search code examples
.netvisual-studio-2008deploymentregistrydeployment-project

Deployment Setup (.Net) - Search target machine -> Registry search (64 bit)


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


Solution

  • 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