写入注册表时Visual Studio部署项目错误

我有一个应用程序的设置,最近转换为框架4.0项目(不知道它是否相关)。 安装程序必须写入注册表(本地计算机),直到现在它一直工作得很好,但现在它无法写入干净机器上的注册表(运行Windows 7,64位)。

设置不会失败,不会显示任何类型的警告,但是它不会写入注册表(我甚至会在每个键上将AlwaysCreate属性设置为true,以防万一)这当然会导致应用程序在启动时终止。

可能是什么原因造成的? 我之前从未遇到过这样的错误。

编辑:我尝试以管理员身份运行安装程序,没有更改任何内容。

它写入注册表好,只是错误的键。 32位安装程序写入HKLM \ Software \ Wow6432Node,这是32位程序看到的一组注册表项。 您的应用程序将以64位模式运行,它不会像这样重定向。

您需要在安装项目中设置目标平台。 或者使用Build选项卡中的Target Platform = x86设置强制您的应用程序以32位模式运行。

原来设置项目有一个属性TargetPlatform,它被设置为x86。 我已将其更改为x64,现在可正常工作。

谁会想到这将是唯一受错误目标平台影响的事情……