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

3
我有一个应用程序的设置,最近已经转换为框架4.0项目(不知道是否相关)。该设置必须写入注册表(本地机器),直到现在这一直完美地运行,然而现在它在一个干净的机器上(运行Windows 7,64位)无法写入注册表。
安装程序没有失败,也没有显示任何警告,但它不会写入注册表(我甚至在每个键上都将AlwaysCreate属性设置为true,以防万一),这当然会导致应用程序在启动时终止。
这可能是什么原因?我以前从未遇到过这样的错误。
编辑:我尝试以管理员身份运行安装程序,但没有改变任何东西。
2个回答

4

它已经成功地写入注册表,只是写入了错误的键。32位安装程序会写入HKLM\Software\Wow6432Node这组注册表键,32位程序可以看到这些键。您的应用程序将在64位模式下运行,不会像那样被重定向。

您需要在设置项目中设置目标平台。或者通过在“生成”选项卡中设置“目标平台=x86”的方式强制您的应用程序以32位模式运行。


0
原来设置项目有一个TargetPlatform属性,它被设置为x86。我已经将其更改为x64,现在它可以正常工作了。
谁能想到这是错误目标平台唯一影响的事情...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接