Fari

Windows

Windows下的Local、LocalLow、Roaming区别及Integrity level

windows下用户目录中有个 AppData 目录,该目录下有三个子目录 LocalLocalLowRoaming

在C盘下还有一个 ProgramData 的目录,另外还有 Program FilesProgram Files (x86) 这三个目录

注:上述 AppDataProgramData目录默认是隐藏的,可按以下设置查看

有时候安装程序会让你选一些目录,就会造成困惑,以下是我的一些了解:

为什么有这些目录

一般软件使用过程都分为三个阶段:安装——使用——卸载。这里讨论前两个阶段。

软件安装

Program FilesProgram Files (x86) 是安装目录。

一般来说,所谓软件安装的过程其实就是压缩包解压的过程,程序员将某个软件打包成一个安装包文件,用户双击该文件就相当于解压这个文件(粗略认为)。解压的目录就是安装路径,解压完成即软件安装完成。

Program Files 和 Program Files (x86) 的区别

windows分为64位和32位的。

现在的家用机基本都是64位的,很少有32位的。但在64位出现之前,早期也都是32位的。所以很多软件都分32位版和64位版。一般来说64位的计算机会向下兼容32位的软件,所以64位机是可以安装32位的软件的。但为了做出一些区分,32位的软件就和64位的软件分两个目录安装了。64位的应安装在 Program Files 下,32位的则应安装在 `Program Files (x86) 下。

软件使用

上述步骤只是完成了软件的安装,软件运行又是另一回事。例如我在电脑上安装好了QQ,下一步就是双击打开并使用它。使用的过程必然伴随着一系列文件的产生,例如聊天记录、缓存文件、用户自定义配置等。从规范上来讲,这些运行过程中生成的文件或配置文件应该都存放在 ProgramDataAppData目录下。

ProgramData 和 AppData 的区别

他们俩都是用来存放运行过程中产生的文件和配置,区别在于用户权限的不同。

ProgramData 目录中存放的数据对所有用户共享(一台windows可以创建多个用户使用)。

AppData 目录中存放的数据只对单个用户访问。

例如对QQ而言,我对其外观进行了设置,因为这并不是什么隐私信息,所以可以将其配置存放在 ProgramData 目录中,这样其他用户登录windows后也能看到修改外观的QQ。而对用户的聊天记录则存放在 AppData 目录,毕竟我也不想因为别人使用这台电脑就能看到我的聊天记录。(仅做理解,真实情况不一定是这样)

Local、LocalLow、Roaming 的区别

这三个目录都在 AppData 目录下,基本作用是一样的,就是上面说的为单个用户保存数据。但有一些小的区别:

先说Local和Roaming两个的区别:

如果你的电脑只是你个人使用,那他俩没区别。如果你的电脑是有一个中心化的管理,例如学校的机房、公司的电脑等这种同一台电脑可能有多个用户登录的情况,才有一些区别。