C:\Program Files
x64
(64 位)的软件安装目录,所有用户都能使用,程序安装到这里需要管理员权限。若程序数据也写在这个目录下,软件每次启动都会要求授予管理员权限,存在很大的安全隐患。
C:\Program Files(x86)
同 C:\Program Files
,只是该目录用于存放 x86
(32 位)的软件。
C:\ProgramData
该文件夹与 AppData
的区别在于,这里存放的数据是公用的,如果你希望软件的数据在所有的用户之间保持一致,那么程序生成的数据应当存放在这里。
C:\Users\用户名
用户的家目录。
Linux 和 MacOS 用户应该很熟悉,所有个人数据都应该放在家目录下。一些跨平台软件喜欢在这里写数据,并生成一堆文件名以 .
开头的文件,这在 Linux 下是隐藏文件,但 Windows 文件管理器并不按这个逻辑处理,用户只能主动给所有点号开的文件加上隐藏属性,并文件管理器里设置成不显示。
C:\Users\用户名\AppData
AppData 文件夹包含 Windows PC 上的应用程序自定义设置、文件和数据。包括程序里可以个性化设置而不能影响替他用户文件、临时数据文件夹、快速启动文件夹等。所以里面有很多以软件名称或软件公司命名的文件夹。
每个 Windows 用户帐户都有其自己的 AppData
文件夹。其中有三个文件夹:Local
,LocalLow
和 Roaming
。AppData
文件夹默认隐藏,通过【文件夹选项】-【查看】-【隐藏的项目】- 勾选,即可显示;
同时支持直接输入相对路径地址访问:C:\Users\%username%\AppData
C:\Users\用户名\AppData\Roaming
Roaming
文件夹用于存储将在多个 Windows 系统之间同步的数据。这通常用于存储设置,例如:书签,保存的密码等。
通过环境变量 %AppData%
可以访问,这里用来存放当前登录用户所产生的数据,对其他的用户不可见。如果你在公司网络,加入了域,这个文件夹会通过网路同步,让你的数据在不同的计算机上漫游。该目录常被滥用。
C:\Users\用户名\AppData\Local
Local
文件夹用于存储特定于单个 Windows 系统的数据,这意味着数据不会在多台 PC 之间同步。
通过环境变量 %LocalAppData%
可以访问,这个目录和上面的基本一样,不过仅限本地,加入了域也不会同步。
一般情况下,如果不加入域,Roaming
和 Local
并没有什么区别,但是需要网络同步的时候,尽量把不必要的数据留在本地。
用户临时数据文件保存在 C:\Users\用户名\AppData\Local\Temp
文件夹。
部分软件可能默认安装在 C:\Users\用户名\AppData\Local\Programs
文件夹。
C:\Users\用户名\AppData\LocalLow
LocalLow
文件夹与 Local
文件夹基本相同,区别在于前者用于优先级较低的应用程序(运行时安全设置受限)。
C:\Users\用户名\Documents
又称我的文档。
通过名称我们大概可以获悉,这里存放的是用户主动保存的文档数据,比如各种文稿,照片,音乐,视频,档案 之类的。
有的软件会无脑把程序数据写在这里,导致文档目录混乱。同时,有些数据 (日志、配置、缓存数据) 是给软件服务的,用户无法直接使用这些文件,那么这些数据就应该放到 AppData
文件夹。
新入软件安装的困局
目前越来越多的常用软件(百度网盘、有道词典、WPS、剪映、Xmind[无选择过程]),他们的默认安装路径已经不再是规范的 C:\Program Files(x86)
或 C:\Program Files
,而是当前用户所在的 C:\Users\用户名\AppData\Local
,甚至于直接强制不给出可选安装路径的流程或禁止选择 C:\Program Files(x86)
或 C:\Program Files
,软件发行方这样做,只为了软件本身可以在用户电脑磁盘所处路径自由写入与修改,为自己获得足够的操作权限。
如果这是你的个人电脑,并且使用 administrator
或所在该组的账户,短时间里你并不会发现有什么特别或受此影响,但久而久之你会发现电脑会越来越臃肿与卡顿,甚至于多出一些你没有主动安装的软件,因为在此安装的软件可以不受 UAC
阻挡自行静默安装其他软件,如此循环即完成了自家全家桶的套餐。而用于企业或单位要求普通用户受限使用这台电脑时,这将导致更多的问题。
- 由于该位置无须 UAC 阻挡与提权即可写入,所以安装程序不会因出现阻挡提示和持有普通用户权限的账户而受阻,他们可能会有意或无意安装不经审批的软件,一些软件随之还会自带静默安装流氓软件,同时安装在此位置的还是这些流氓软件的理想之所,这在规范的企业中是不允许的行为,将引来软件授权许可问题与流氓软件侵扰以及影响电脑整体运行性能。
- 如果是多个用户同时切换使用此电脑,他们安装的软件将不受共用(软件的规范为每个用户打开为全部部署,用户之间数据和布局隔离,不受隐私影响),而导致每个用户会安装一份本来可以共用的常用软件,超过一定的用户数,将导致磁盘重复多份数据,只有在该用户永久脱离使用该电脑后,由运维人员删除其用户配置才能得以删除这些数据。
当然,也有部分软件会给出安装受众类型,如果选择个人,则默认在 C:\Users\用户名\AppData\Local
,如果安装给所有人,则默认在 C:\Program Files(x86)
或 C:\Program Files
。
就此,C:\Users\用户名\AppData\Local
的滥用,将是用户与软件发行方的最大较量,用户希望可以免费且正常使用该软件,而发行方开发与运营该软件需要成本,并以此获得效益创收,但是在国内,软件免费才是正道,自中国发展 IT 行业以来,用户就没有为软件买单的意愿与习惯,只有部分大型工业软件通过相关政策与法律向企业或单位方可小有获利,而对于个人用户,也是无尽奈何。既然无法收费,那就变相的以广告形式来获得收益,但是通过正规的安装途径与投放广告,肯定是无效覆盖,所以静默安装与获得足够的自由权限是以广告创收的首要与必要条件,从而也就有了越来越多的软件选择 C:\Users\用户名\AppData\Local
或直接不给用户可选路径的流程。
同时,我们发现,腾讯的相关软件:QQ、微信、电脑管家等常用软件都是默认在 C:\Program Files
,并且可以自由选择。这就得说收益来源了,腾讯帝国的创收途径多了去了,他真的没有心思搞这些小动作。
UAC:(User Account Control)
用户帐户控制