Visual Studio 2010安装项目64位创建注册表项问题
本文关键字:创建 注册表 问题 64位 项目 Studio 2010 安装 Visual | 更新日期: 2023-09-27 18:08:31
我有一个64位windows服务exe和dll的64位安装项目。在我的安装程序类中,我用以下代码创建注册表项:
using (typeKey = typeKey.CreateSubKey(@"SOFTWARE'Folder'Folder'Folder"))
{
typeKey.SetValue("Type", 0);
typeKey.Close();
}
但是它一直在SOFTWARE'WOW6432NODE'SOFTWARE'FOLDER'FOLDER'FOLDER中创建注册表项。顺便说一句,安装程序将exe和dll拷贝到64位程序文件文件夹下。将文件夹复制到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位注册表hive中写入的函数。