windows 的软件管理问题,相对于 mac 和 Linux 来说一直是被诟病的一点。开始的时候,只有选择在网上搜索安装包作为唯一的安装方式,但碍于中文互联网搜索质量良莠不齐和国内网络环境,往往需要花费一番功夫才能获得自己想要的软件,同时部分软件不支持自定义安装位置,挤占 C 盘容量的同时使软件管理变得更加困难。

于是 ,随着需求的呼声越来越高,开始出现了类似于 Linux 的包管理器——scoop、Chocolatey 和微软官方出品的 winget。有了他们,我就可以很快的在相对安全可信的渠道找到自己想要的软件并一站式进行安装、管理和拆卸。不过,这三款包管理器各有优劣,具有明显不同的特点。scoop 拥有自己的一套软件管理模式,app 和相应的数据都很好的分门别类的放在统一的文件夹下,这使得它可以非常方便的切换软件的不同版本,对于程序员来说极其友好,不同的编程环境都可以一键配置和切换。同时它的软件仓库由开源社区进行维护,拥有着极为丰富的开源软件数量,但是,这也意味着软件更新的不稳定性和软件总体数量上的匮乏,库维护者一旦跑路并且无人接手的话,就意味着数款软件的停止更新。chocolatey 我体验的不多,主要是因为想要获得它的完整体验的话需要开通会员。不过如果你只是想要用它进行简单的安装和管理的话,你只需要使用它的免费版本就好。chocolatey 的优势在于其具有非常庞大的官方维护库和较为完善的安装控制,你几乎可以找到一切你需要的软件,同时你可以选择便携安装或完整安装并选择安装位置。最后,微软的亲儿子 winget 作为最年轻的一位成员,在微软这位富爹的支持下,软件数量可以说迅速直逼甚至超过了 chcolatey,但是极其不人性化的安装流程使得使用体验一言难尽。尽管支持了使用 -l 控制软件的安装位置,但这对于软件提供商来说并不是一项强制要求,所以常常会出现用了 -l 指定安装位置但软件依旧自顾自安装在了默认位置的情况。同时其不支持设定默认安装位置,所以在每次安装时都必须手动添加 -l 来指定。

作为一个成年人,我当然选择全都要,在安装不同软件的时候就可以利用其优势选择使用不同的包管理器。但是,不同包管理器之间不同的操作命令和管理方式使使用变的困难。这时,今天的主角就该登场了,一款由 marticliment 开发的 UI 界面 wingetUI,这个软件集合了三款包管理器,同时极大的简化了操作,优化了 windows 上的软件管理体验。使用 wingetui 可以实现打开软件时自动清理缓存,并且解决了无法自动更新这一大痛点。可以说,你只需要将其设置为开机自启就可以实现无感知的自动更新。