gpt4 book ai didi

c# - 从 Visual Studio 2010 部署项目写入 HKLM

转载 作者:行者123 更新时间:2023-11-30 21:14:00 26 4
gpt4 key购买 nike

我有一个使用 VS2010 部署项目部署的 Windows 服务。我要求在安装程序中输入用户名/密码,然后将这些详细信息提交给注册表以供服务使用。

安装程序工作正常,自定义操作设置正确。如果我尝试与 HKLM 通信,我没有收到任何错误,但也没有输出,对 HKCU 的相同命令工作正常。这与标准用户和管理用户(包括 RunAs)相同。

public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);

var username = Context.Parameters["username"];
var password = Context.Parameters["password"];

// HKLM\Software\MySoftware
RegistryKey hklm = Registry.LocalMachine.CreateSubKey("SOFTWARE\\MySoftware");
hklm.SetValue("username", username, RegistryValueKind.String);
hklm.SetValue("password", password, RegistryValueKind.String);
hklm.Close();

// HKCU\Software\MySoftware
RegistryKey hkcu = Registry.CurrentUser.CreateSubKey("SOFTWARE\\MySoftware");
hkcu.SetValue("username", username, RegistryValueKind.String);
hkcu.SetValue("password", password, RegistryValueKind.String);
hkcu.Close();
}

我试过使用 .OpenSubkey(x, true) 而不是 CreateSubkey(x)。结果是一样的。

如有任何帮助,我们将不胜感激。

问候

克里斯

最佳答案

在 64 位操作系统上,您会在 HKLM\Software\Wow6432Node\MySoftware 中找到这些 key 。这些注册表项针对 32 位程序进行了虚拟化。

关于c# - 从 Visual Studio 2010 部署项目写入 HKLM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6491645/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com