场景:考虑一下SKYPE软件,当用户Paul登录电脑,打开SEYPE软件登录并选择下次自动登录时,用户Paul下次打开电脑时SKYPE就会自动登录。但是当用户RICKY登录同一台电脑时,SKYPE软件却不会自动登录,这是由于SKYPE针对不同的用户,把数据记录到了C:\Users\Paul\AppData\Roaming\Skype的目录中,这样不同的用户针对软件的数据是分开的,所以就会造成这样的情况。但是有些情况下,某些信息却是要所有的用户都共享的,比如一个软件需要进行验证才能使用,没有道理说,同一台电脑中的一个用户验证了,另一个用户还需要验证,所以这类的信息却又是共享的。那些共享信息应该放在哪,用户的个人信息又应该放在哪
1.软件必须由管理员Paul进行安装,安装后软件的运行目录为"C:\Program Files (x86)\XXX\XXX - IPP".文件"C:\Program Files (x86)\SML\SML - IPP\Config\SystemSetting.xml"用于保存数据
2.当不同的Windows用户运行软件时,复制"C:\Program Files (x86)\SML\SML - IPP\Config\SystemSetting.xml"至"C:\Users\Username\AppData\Roaming\SML\SystemSetting.xml",这样不同的windows用户操作的就是本人的数据,不会影响其他用户。
3.共享数据的保存,由于windows用户有些并非是管理员,所以并非everyone有权限去读写软件运行目录中的文件。解决方法是共享数据只能由管理员Paul进行设定,管理员设定共享数据之后,会把数据保存至"C:\Users\Paul\AppData\Roaming\SML"目录中作为个人数据,也会把数据保存至C:\Program Files (x86)\XXX\XXX - IPP"目录中,当其他用户Ricky运行软件时,会从"C:\Program Files (x86)\XXX\XXX - IPP"中读取共享数据,读取完成后再保存共享数据至"C:\Users\Ricky\AppData\Roaming\SML"中,这样数据就在不同用户间共享了。