以编程方式创建注册表项
Create registry key programmatically
我正在处理一个 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 位,我正在使用 "Any CPU" 进行编译,但我的应用程序似乎是 x86.
我已尝试调试操作。值 valkey
不为空,但我没有看到注册表编辑器的密钥。通过强制 CreateSubKey
我仍然没有密钥。
我不知道该怎么办,我需要帮助。
只是猜测,因为看起来一切正常。
尝试关闭返回的密钥。密钥处置的描述它清除资源但没有说它刷新它。
RegistryKey key = Registry.LocalMachine.CreateSubKey(@"SYSTEM\CurrentControlSet\services\eventlog\Application\MyService");
key.Close();
我正在处理一个 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 位,我正在使用 "Any CPU" 进行编译,但我的应用程序似乎是 x86.
我已尝试调试操作。值 valkey
不为空,但我没有看到注册表编辑器的密钥。通过强制 CreateSubKey
我仍然没有密钥。
我不知道该怎么办,我需要帮助。
只是猜测,因为看起来一切正常。
尝试关闭返回的密钥。密钥处置的描述它清除资源但没有说它刷新它。
RegistryKey key = Registry.LocalMachine.CreateSubKey(@"SYSTEM\CurrentControlSet\services\eventlog\Application\MyService");
key.Close();