4

我有一个安装了一些软件(winform,service,mce addin)的Windows安装程序项目。在安装过程中,我需要在机器中搜索注册表项。这是通过“启动条件” - >“添加注册表搜索”(部署项目)完成的。部署安装(.Net) - 搜索目标机器 - >注册表搜索(64位)

我已经填写了所有的属性权限,并检查了实际可以找到的值。

问题是“注册表搜索”在注册表的x86部分(HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ ...)中搜索,尽管我的系统是x64,部署设置也设置为x64。

有谁知道如何强制“注册表搜索”来搜索x64注册表?或者了解解决方法?

关于此问题的奇怪之处在于部署设置中的注册表设置正在写入正确的注册表(x64)。我的想法是,“注册表搜索”程序仅针对x86架构开发,因此无法读取正确的注册表。

我发现这篇文章来自微软,所以它接缝,他们知道这个问题。 https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=110105&wa=wsignin1.0#details

我的系统是:
64位Windows 7
Visual Studio 2008中

+0

我有完全相同的问题。使用进程监视器即使在配置安装程序以定位x64体系结构时,我也可以看到它在错误的注册表项节点中查找。知道它的基础是什么将是非常有用的。 – glenatron 2011-02-03 15:03:09

回答

3

我找到了一个解决方案。我修改了由Microsoft制作的脚本,并且脚本必须在每次构建后运行。看看here