道歉,如果这是一个非常简单的问题...
我们有一个由管理员安装,然后由多个工作人员在同一台计算机上用自己的登录凭据运行.NET应用程序(普通用户 - 非管理员)。
应用程序使用MSI安装程序,并安装到Program Files文件夹。
该应用程序需要这样当用户打开这些设置都设置应用程序和用户每次不问的喜好有关于连接的设备保存为喜好电脑的一些设置。这些首选项不应该对每个用户设置,而每台计算机。
但是,如果用户A改变的计算机上的这些设置一个,那么当他们在用户B登录应该看到用户A所改变的设置因此,设置需要在每台计算机,不是每个用户。
在Windows其中7,8,10等可以在应用程序保存数据是计算机特定的不是用户特定的,但让用户无需管理员权限更改数据?
我们已经看过了系统临时文件夹,但该计算机具有GPO策略定期删除临时文件夹的内容。
任何其他的想法?
这需要管理员权限来改变内部HKLM注册表项的权限,但一旦这样做了,谁在给定组权限可以进行修改。
显然,不更改权限上的任何标准的键(例如HKLM\Software
或HKLM\Classes
),但在自己的应用领域(HKLM\Software\YouCorp\YouApp\Attached Devices
)这是完全正常的调整权限,你喜欢的方式。
你只是必须包括“关于HKLM\Software\YouCorp\YouApp\Attached Devices
该组的用户授予写权限”作为安装程序的行动之一。
如果你是过敏注册表,你可以做同样的应用程序的一个子目录中安装(例如%ProgramFiles%\YouCorp\YouApp\Device Settings
)
由于您使用的是.NET应用程序,你可以存储与应用程序相关的app.config文件中的信息。