很抱歉,这是一个非常简单的问题...
我们有一个.NET应用程序,该应用程序由管理员安装,然后由多名工作人员使用自己的登录凭据(普通用户-非管理员)在同一台计算机上运行。
应用程序使用MSI安装程序,并安装到Program Files文件夹中。
应用程序需要将与计算机上连接的设备有关的某些设置保存为首选项,因此,当用户打开应用程序时,将设置这些设置,并且不会每次都向用户询问首选项。这些首选项不应按用户设置,而应按计算机设置。
但是,如果用户A在计算机上更改了这些设置之一,那么当用户B登录时,他们应该从用户A看到更改的设置。 因此,设置需要针对每台计算机,而不是针对每位用户。
在Windows 7、8、10等位置,应用程序可以保存特定于计算机而不是特定于用户的数据,但允许没有管理员权限的用户更改该数据吗?
我们已经查看了系统临时文件夹,但是计算机具有GPO策略,可以定期删除临时文件夹内容。
还有其他想法吗?
答案 0 :(得分:1)
需要管理员权限才能更改HKLM中注册表项的权限,但是一旦完成,获得权限的组中的任何人都可以进行修改。
显然不要更改任何标准键(例如HKLM\Software
或HKLM\Classes
)上的权限,但是在您自己的应用程序区域(HKLM\Software\YouCorp\YouApp\Attached Devices
)中,最好以这种方式调整权限你喜欢。
您只需要将“ HKLM\Software\YouCorp\YouApp\Attached Devices
上的授予写入权限授予用户组”作为安装程序的操作之一。
如果您对注册表过敏,可以对应用程序安装的子目录(例如%ProgramFiles%\YouCorp\YouApp\Device Settings
)进行同样的操作
答案 1 :(得分:0)
鉴于您正在使用.Net应用程序,则可以将信息存储在与该应用程序关联的app.config文件中。