Windows 在没有管理员权限的情况下更改注册表

Windows 在没有管理员权限的情况下更改注册表,windows,registry,Windows,Registry,我想我需要管理员权限来更改注册表(如果我的应用程序没有这样的权限,我会出错)。也许只有部分注册表需要管理员权限 你能提供一些信息吗?我需要将我的应用程序数据存储在没有管理员权限的地方。您需要管理员权限才能写入多个用户共享的位置。 在文件系统中,这意味着像\WINDOWS或\Program Files这样的文件夹。 在注册表中,这意味着不是每个用户的所有配置单元 因此,您只能向HKEY\U CURRENT\U用户写入 具体来说,您应该写信给HKCU\Software\Your Company以普通

我想我需要管理员权限来更改注册表(如果我的应用程序没有这样的权限,我会出错)。也许只有部分注册表需要管理员权限


你能提供一些信息吗?我需要将我的应用程序数据存储在没有管理员权限的地方。

您需要管理员权限才能写入多个用户共享的位置。
在文件系统中,这意味着像
\WINDOWS
\Program Files
这样的文件夹。 在注册表中,这意味着不是每个用户的所有配置单元

因此,您只能向
HKEY\U CURRENT\U用户写入


具体来说,您应该写信给
HKCU\Software\Your Company

以普通非管理员用户身份登录。打开regedit,右键单击顶级键并检查每个键的权限,您将看到您可以作为用户向哪些键写入。基本上,正如SLaks所说,这只是HKEY_的当前用户


例如,HKEY_本地_机器是禁止进入的。您可以向HKEY_用户/您的用户SID写入,因为HKCU基本上就是该用户的一个映像。

HKCU是该用户的别名。它们由磁盘上的相同文件支持。如何以非管理员身份运行REGEDIT?在Win10上,REGEDIT总是提示提升,或者对于标准用户,它要求管理员凭据。@UweBaemayr它可以工作,就像您可以使用普通帐户运行“管理工具”列表中的几乎所有工具一样。通过“特别是,您应该写信给HKCU\Software\Your Company”你的意思是,这是你唯一可以在没有行政特权的情况下写作的地方,或者你可以在香港中文大学的任何地方写作,但这是推荐的做法?嗯,我也这么认为。但后来我陷入了这个问题。。。在win 7 64机器中,我在VS 2010中使用一个没有管理员权限的用户帐户运行我创建的安装msi。在这个msi中,我在HKCU下设置了一些注册表值。。。但它不会执行。它要求我拥有行政权。从msi中删除注册表设置,一切顺利,应用程序已安装,但HKCU中没有设置。我发现这真的很奇怪,因为每个人似乎都很确定你在HKCU下不需要管理员权限。顺便说一句,我在我公司的子项Too中写的也是,在另一台机器上以非管理员用户的身份运行非常相同的msi(带有注册表设置的msi),安装没有问题(并且没有提升的管理员提示)。在以前的机器(win7 64)中,不仅简单用户无法安装它,而且当在管理员帐户下运行时,将打开提升提示,好像它需要管理员权限一样。这不会发生在其他拥有简单用户的机器上。该应用程序将在非管理员用户下完美安装,并且不会提示管理员权限。不幸的是,这似乎不起作用。通过C#向香港中文大学写信仍然需要管理员权限