Visual Studio 2010安装项目64位创建注册表项问题

我有一个64位安装项目与64位Windows服务exe和dll。 在我的安装程序类中,我使用以下代码创建注册表项:

using (typeKey = typeKey.CreateSubKey(@"SOFTWARE\Folder\Folder\Folder")) { typeKey.SetValue("Type", 0); typeKey.Close(); } 

但它一直在SOFTWARE \ WOW6432NODE \ SOFTWARE \ FOLDER \ FOLDER \ FOLDER创建注册表项。 顺便说一下,在64位程序文件文件夹下复制exe和dll。 将文件夹复制到64位文件夹没问题。

任何的想法?

您正在使用.NET 4,使用新的RegistryKey.OpenBaseKey()方法并传递RegistryView.Registry64

发生这种情况是因为您的自定义操作使用32位进程。 也许这篇文章会有所帮助: http : //blogs.msdn.com/b/heaths/archive/2006/02/01/64-bit-managed-custom-actions-with-visual-studio.aspx

基本上,您需要使其使用64位进程或调用可以在64位注册表配置单元中编写的函数。