我正在研究一个C#项目,我对创建注册表项非常困惑。以编程方式创建注册表项
我有一个Wix安装程序。和设置文件,我打电话给一个自定义操作来创建子密钥(我尝试了wix功能,但它没有工作)。
我的自定义操作是:安装
RegistryKey Nkey = Registry.LocalMachine;
RegistryKey valkey = Nkey.OpenSubKey(Manager.REGKEY, true); //=> REGKEY = "Software\\MyService"
if (valkey == null)
{
valkey = Nkey.CreateSubKey(GestionCertificats.REGKEY);
}
valkey.Close();
Registry.LocalMachine.CreateSubKey(@"SYSTEM\CurrentControlSet\services\eventlog\Application\MyService");
后,我可以看到第二个关键,但没有第一个。我不确定要正确理解按键的操作。我正在研究Windows 7 64位,我正在编译“任何CPU”,但我的应用程序似乎在x86中。
我已尝试调试该操作。值valkey
不为空,但我没有看到注册表中的密钥。通过强制CreateSubKey
我还没有钥匙。
我不知道该怎么做,我需要帮助。
您需要管理员权限才能写入LocalMachine。你是否以正确的权限运行安装程序? – ChrisF
是的,我有窗户要求授权。我有另一个自定义操作用于写在一个正在工作的管理文件夹中。 –
我认为你应该在路径中使用\\而不仅仅是\? –