“把软件图标拖进一个文件夹,就算装好了?”一位 Windows 用户看到 Mac 的安装画面时,觉得这事很超现实。
画面确实有点像儿童电脑课:左边是软件图标,右边是“应用程序”文件夹,中间摆着箭头。拖过去,结束。没有许可协议,没有挑选安装目录,也没有那个总让人怀疑电脑究竟在忙什么的进度条。

拖一下,背后其实是搬家
Mac 下载的软件常是 dmg(磁盘镜像)文件。双击后,电脑会挂载出一个虚拟磁盘,像刚插进一个 U 盘。打开它,把 App 图标拖到“应用程序”文件夹,再把这个虚拟磁盘推出,安装就完成了。
这里没有魔法。Mac 里的 App 本质上是一个应用包,也就是被系统伪装成单个图标的文件夹。程序本体、图片、配置和运行所需的大部分东西,都装在里面。所谓安装,就是把这个文件夹搬到该去的地方;卸载,就是扔进废纸篓。
这种想法不是苹果临时想出来的。它来自 NeXTSTEP:乔布斯离开苹果后创办的 NeXT 公司做出的系统。苹果后来收购 NeXT,新的 Mac 系统也接下了这套家底。
Windows 为什么总要点下一步
Windows 把应用看成另一回事。它通常不是一只拎包就能走的箱子,而是一套要接进房子的设备:文件放进 Program Files,配置写入注册表,共享的 DLL,也就是动态链接库,要和系统及别的软件对上。
于是安装向导才显得郑重。许可协议、组件选择、安装位置、进度条,每一步都在安排这些连接。1992 年跟着 Windows 3.1 一起出现的注册表,到 Windows 95 已经成了系统的中央账本,文件关联和组件登记都往里面记。

这也解释了 Windows 的 msi 安装包为什么这么细致:它会记下自己装进去的每一个文件,控制面板里的卸载程序才能顺着清单,一件件拆回去。那种笨拙的“下一步、下一步、完成”,并不只是旧时代的仪式感——它是在把账一笔笔记在册上。
两边争的从来不是按钮好不好看,而是一个应用到底算什么。Mac 说,它是独立的东西;Windows 说,它得和系统接上关系。
优雅都写着代价
Mac 的代价,藏在那块虚拟磁盘里。有人装完忘记推出,看着桌面多出一个陌生磁盘图标,不知道能不能删;也有人压根没拖过去,直接在磁盘里运行软件。结果每开一次 App,就挂一次磁盘,机器里留下好几个空壳。
早年的安装图会耐心画出箭头,教新人完成这个小动作。现在有些开发者懒得提示,默认你早懂了,第一次见的人只能对着箭头发愣。

Windows 这边也有它的难看。注册表里塞着上一个版本卸载时没清干净的键,Program Files 里留着空文件夹,有些安装包还会顺手塞进来一个你没要的工具栏。但真要论“卸载干净”,输的反而是 Mac。那句“丢进废纸篓就行”听着利落,其实只删了应用本体,偏好设置、缓存和登录项常散落在系统角落——只是看不见,就以为干净了。
Mac 把复杂藏进一个包,换来拖一下的利落;Windows 把复杂摊在一步步向导里,看着笨,却留下了一份能查的账。
夜雨聆风