如何以 "System" 用户身份更新注册表值?

How to update Registry Values as "System" user?

我有一个 Windows 表单应用程序需要更新注册表值。当我调试应用程序时,值被正确保存。但是,当我在安装程序(Visual Studio 安装项目 - .vdproj)完成后启动应用程序时,应用程序正常启动,但没有正确保存注册表值。

我没有收到任何错误,但似乎无法找到相应位置的条目。

如果我双击 .exe,值将被正确保存。

是否因为安装程序以 "System" 用户身份启动应用程序?

我该如何解决这个问题?

您应该说明您的代码正在尝试更新哪些注册表项,但是如果它们是 HKCU 项,例如,您将看到差异 运行 系统帐户。

还不清楚为什么您需要一个程序来创建注册表项,而安装程序会为您执行此操作并且它会正常工作。在注册表视图中的 Visual Studio 安装项目中。您可能希望存储在注册表中的许多值可能作为标准 Windows 安装程序属性提供,并使用方括号语法存储它们,例如 [TARGETDIR]。