安装过程,让人直接联想的 1984 年发布的苹果机,那是带软驱的机器,所以你"插入"软驱,自动弹出界面让你拖拽"安装"(只是简单复制),完事以后你需要"推出",这很方便,因为你不需要手动去推软驱那了,非常人性化。
卸载的问题更大,现在 Mac 和 Windows 的软件,都会在自己的安装目录以外乱丢垃圾,Mac 也有 Windows 注册表的等价物,就是 library 目录的某个子目录,你在下面创建文件,就相当于在 Windows 注册表里面创建了一个子项。
这样当你"卸载"(简单删除)一个软件,它根本没有机会把自己的垃圾打包带走。
|      1BugenZhao      2020-01-20 16:22:43 +08:00 把应用拖动到废纸篓,会自动触发对应的卸载脚本的 | 
|  |      2murmur      2020-01-20 16:23:47 +08:00 所以清理我的麦克才能卖出去那么多份啊 | 
|  |      3minamike      2020-01-20 16:26:05 +08:00 via iPhone 至少比全家桶好一点 实在有系统洁癖用 appcleaner 吧 | 
|  |      5k9982874      2020-01-20 16:30:58 +08:00 还好吧,正常情况下都可以在 Appstore 这种“现代”软件商店中安装。 LZ 所说情况大部分是安装个人二次打包的软件(欢喜版),如果是这样就不要吐槽了。 | 
|  |      6ipwx      2020-01-20 16:31:33 +08:00 via Android 没有人阻止应用作者写个卸载脚本啊(手动狗头) | 
|      7NG6      2020-01-20 16:32:10 +08:00 所以这时候就需要他了,和把程序拖进垃圾桶一样 https://cdn.jsdelivr.net/gh/SuperNG6/pic@master/uPic/s5oBsw.png | 
|      8Cavolo      2020-01-20 16:35:29 +08:00 via iPhone 相比下更讨厌 pkg 的安装方式 | 
|  |      9avalanchecoke      2020-01-20 16:37:24 +08:00 用 MAC 不用 HOMEBREW ? | 
|  |      10iamwho      2020-01-20 16:39:51 +08:00 还没有操作系统 /包管理器可以做到火葬场级别的卸载。 | 
|      13ybw OP @iamwho 不作为,也是制造障碍。Windows 有控制面板,调用卸载专用程序,Mac 有对应的东西吗? | 
|  |      14BingoXuan      2020-01-20 17:14:42 +08:00 @ybw  mac 应用是可以通过互联网分发的,不像 iOS 管控那么严格一定要 App Store 分发。所以非 Mac App Store 分发的应用就看开发者够不够用心把卸载脚本写上。如果你了解过 macos 应用构建规范,你是可以通过一个文件夹加上一个可执行的 shell 脚本构建一个 App。当然喜欢恶作剧的人甚至会通过这个脚本生成一堆垃圾文件而在卸载时候完全不删除。 macOS 对应用的定义类似于 Windwos 上的 Portable 软件(绿色版),随拿随用。你可以通过 airdrop 或者其他途径快速分发给其他人而不是分发安装包(我个人不喜欢 dkpg 安装) | 
|  |      15iamwho      2020-01-20 17:15:05 +08:00 @ybw #13  操作系统在管理文件 /程序上存在差异是不可避免的。 同样烂的环境下,我觉得 macOS 查找程序的残留文件就比 Windows 方便。 此外,如果需要创建一个完整的安装程序,可以使用 MSIX ( https://docs.microsoft.com/en-us/windows/msix/)。 | 
|      18leafdream      2020-01-20 18:15:29 +08:00 via iPhone brew cask | 
|      19wangkun025      2020-01-20 18:18:06 +08:00 brew uninstall 也要 brew cleanup 一下。 | 
|  |      20chinvo      2020-01-20 18:18:28 +08:00 via iPhone  1 @love #17  既然你说 win 上的程序除非故意留下或偷懒,都能完整卸载, 那么 mac 上用 app store 就能完美解决这个问题,但是程序作者偷懒或者故意 所以这和 mac 系统本身有半毛钱关系 如果有不能 app store 分发的程序,那么负责任的开发者也会提供卸载工具或者脚本 | 
|  |      21chinvo      2020-01-20 18:18:40 +08:00 via iPhone  1 @wangkun025 #19 brew cask zap | 
|      22wangkun025      2020-01-20 18:24:43 +08:00 @chinvo 赞的 | 
|  |      23qW7bo2FbzbC0      2020-01-20 19:01:28 +08:00 主要是清理起来麻烦吧,要一个个 cd 去删除 | 
|  |      24amon      2020-01-20 19:12:02 +08:00 Mac 安装感觉比 windows 下和流氓软件斗智斗勇好多了~ | 
|  |      25lavvrence      2020-01-20 19:34:49 +08:00 @wangkun025 现在 brew cleanup 根据日期:一个月未执行的话会在 update 的时候自动执行了 | 
|  |      26ech0x      2020-01-20 19:40:09 +08:00 其实哪个系统都有这个问题,除非每个程序都在沙盒里面,就像 iOS 一样。 | 
|      27jtshs256      2020-01-20 19:54:53 +08:00 差不多,AppData 下的配置也不会被删,注册表看心情,本身配置文件和 binary 分开处理似乎也没什么不对的 | 
|  |      28germain      2020-01-20 20:11:06 +08:00  1 | 
|  |      29mongodb      2020-01-20 20:11:43 +08:00 @jtshs256 道理很对,主要这帮 App 搞一堆目录。 在 Mac 下往 /Users/xxxx/.oooo 下放不行吗。 跑到 Application Support 下面一堆,还可能起几个名字。 | 
|      30jin7      2020-01-20 20:23:25 +08:00 对于 windows, 先用 Geek Uninstaller 卸载....(最后要看清楚, 不然会多删了东西) 然后用 everything 搜索相关的文件 /文件夹并删除, 最后用 ccleaner 清理下, 应该很卸载得干净了吧... | 
|      31gypsy      2020-01-20 20:50:59 +08:00 不给全家桶留机会! | 
|  |      32FurN1      2020-01-20 22:25:59 +08:00 @love 用过 geek installer 你就会知道,windows 大部分软件的卸载程序都会留下注册表项和配置文件夹不动…和 macOS library 差不多 | 
|  |      34mxalbert1996      2020-01-20 23:10:09 +08:00 via Android @k9982874 你不是开发吧?我的主力开发机里从 MAS 下的软件不到 20%(除去系统自带)。 | 
|  |      35mxalbert1996      2020-01-20 23:14:30 +08:00 via Android @chinvo 区别就在于,Windows 下系统默认的卸载软件的方式是运行卸载脚本,而 macOS 下是直接删除 app 目录。 | 
|      36petercui      2020-01-20 23:21:54 +08:00 @love 微软自己的卸载程序都不愿意把自己卸载干净,更何况其他的;从另一个角度来讲,在安装完成后运行时才生成的文件,卸载程序是不知道的,它想去删除也做不到。 | 
|      37ybw OP 楼上的确定 MAS 里的 App 会把垃圾打包带走吗? 我刚刚删除了微软的 TODO 软件, ~/Library/Group Containers/ 下面的 3MB 垃圾, 并没有带走 | 
|  |      39philobscur      2020-01-21 09:28:38 +08:00 看了楼上的回复,真有人 mbp 里面全是 MAS 的软件??? | 
|      40ihwbunny      2020-01-21 09:41:43 +08:00 为什么会不喜欢 pkg 呢?其实用 pkg 安装的,macOS 会有个 bom 文件,记录所有的安装文件信息。这样的话,卸载就更方便,而且如果会做 pkg 的安装包,一般都会随带一个 uninstaller,所以,相比拖拽的 app,pkg 有更多的优势。有一本书[《 macOS 软件安装包[从入门到精通]》]( https://tonyliu.gitbook.io/macos-packaging),好像还有个群聊。 | 
|      41lizhuoli      2020-01-21 10:19:46 +08:00 via iPhone 一般来说软件优先考虑 Mac App Store,实在找不到替代的才可能去搜索所谓的 dmg pkg 自行分发的软件。 | 
|      43ihwbunny      2020-01-21 10:42:44 +08:00 并不是所有软件都可以符合 app store 的要求的 | 
|  |      44ahaxzh      2020-01-21 10:44:25 +08:00 强推哦 Omini Disk Sweeper | 
|  |      45LokiSharp      2020-01-21 11:27:02 +08:00 说的好像 Windows 控制面板的卸载能卸载干净一样。。。 | 
|      46questionyu      2020-01-21 12:44:59 +08:00 via Android 并不觉得方式古老,反而觉得还挺易用的,省的在安装的时候一不小心多了好多垃圾软件。至于卸载问题,这个和系统无关,只要是程序作者偷懒,哪个系统都能留下垃圾。 | 
|  |      47love      2020-01-21 14:23:49 +08:00 @petercui 我以前就是给公司做安装程序的,在安装完成后运行时才生成的文件怎么会不知道。实际上卸载脚本就是一个正常脚本,可以干所有事 | 
|  |      48henryshen233      2020-01-21 20:27:07 +08:00 连这个 AppCleaner 都没人知道吗。。。 https://freemacsoft.net/appcleaner/ | 
|      49xiebruce      2020-01-22 11:49:01 +08:00 相信我,是你的硬盘太小了,我 1T 硬盘从来不在意这点小垃圾,我用几年后(这几年从来没用过清理软件),用 cleanMyMac 清理也只清理出几个 G 而已( QQ 和微信的不算,那个直接在软件上自己点清理了) | 
|  |      51zhuangku556      2020-01-22 18:09:50 +08:00 via iPhone @xiebruce 行了知道你有钱无脑拉满 | 
|      52kojirou      2020-01-23 13:53:55 +08:00 您要 iOS 那样? | 
|      53Cavolo      2021-12-15 23:09:39 +08:00 via iPhone @philobscur 即使是 MAS 软件卸载后都会留下 pkg 包,从另一个角度看,MAS 的软件更不容易彻底卸载 |