记一次艰难的老版本VS完全卸载(VS2013)

Posted on Sun 31 December 2017 in 遗迹

山雨欲来

尽管被很多人戏称为“宇宙第一IDE”,但是Visual Studio在我印象中却一直不是最佳选择,这个老朋友我觉得只能说“还不坏”,不过正在变得越来越好。其实很多人可能不知道,VS的进化也是一个循序渐进的过程,从VS2012版本奠定了新的界面形态之后,后面不知道是不是冥冥之中自有天意,解决了好几个我吐槽过的问题:比如说没有在同名头文件源文件切换的快捷键(就像是vim的A插件,现在有了,Ctrl+K, Ctrl+O连按),比如丢人的C/C++新标准支持程度(VS2013以降有很大改观),比如太慢的启动速度和太臃肿的安装包(VS2017大为改善),还有比如不像是IDEA一样有重构功能和快速修复(VS2017最近也有了重构和Alt+Enter)等等。

我对VS的使用基本上是每隔两个大版本更新一次,几年来我的主要使用经历是:VS2008、VS2012、VS2017。那大家肯定会注意到了,说我胡说,因为标题上明明写的是VS2013卸载啊!这其实就有个说法了,其实原因是我在那段时间换了电脑。我原本VS2012 express用了好几年,感觉自己萌萌哒,结果换了电脑之后重新装VS,发现微软偷偷把VS2012的页面藏起来了,也不知道是为什么。装上2013之后我明白了,这明明就是VS2012 update5嘛!估计是怕自己改版本号冒充新版本的事情被人发现,于是就把2012版本神隐了。

而这个VS2013也在刚刚安装好的第二天就从预装的Win8搬家到了Win10(通过升级通道升级,注意此处为伏笔),而且也能正常使用。不过我很快看到VS2017的新特性介绍,看到那个启动速度对比就一阵激动,于是迅速安装了新的VS2017,自此就没有用过旧版本了。如此相安无事了很久,直到有天我看着开始菜单感觉怪怪的:

话说这VS2013占地这么久了,长期没有使用,是不是也该动一动?

牛刀小试

嗯,于是说走就走,按照经验,这东西在控制面板里就能卸载。 然而事情并没有这么简单,当发现控制面板中空无一物的时候,我的内心也是茫然的。此事看来大有蹊跷!果然,后面的经历也是一波三折。

再接再厉

于是我四处搜索解决方案,发现好像还有很多人问相同的问题。我看到老司机说:“你去找个安装程序,就可以卸载了”。

然后我下了一个VS2015安装包,好几个G,结果打开之后告诉我不行,版本不兼容。看来必须要跟之前版本完全一样的,然后又一番折腾:

一试之下,才知并非如此,看来我是遇上了假死机,也不知道之前的兄弟们如何解决了问题。总不能是重装系统大法吧?

陷入僵局

这时候通过了解,我大致了解到之所以没有卸载的程序的原因是部分注册表信息被搞丢了,嫌疑最大的操作就是系统升级。我不由得暗骂一声晦气,这从Win8升到Win10,Win10也滚了红石和红石创意者更新两个大版本,谁知道这中间发生了什么?不过这也于事无补了,只能继续想办法。

第三个找到的解决方案是通过wmic找到相关的包,然后逐一按照卸载。过程就不讲了,因为我最终也没用这个办法。为什么呢?与VS2013相关的大概有几十个包,我在这试着卸载了一个包之后,觉得不靠谱:这路子太野,而且悄无声息的,谁知道是真的卸载了,还是只把注册信息删了?如果只是后者,那等我找到真的解决方案的时候,线索不也因此毁掉了吗?

柳暗花明

然而我没想到的是,路子最野的其实还是微软自己。

https://www.zhihu.com/question/25104894/answer/179157353

微软为了解决这个问题,前后开发了四代工具!这下终于可以让专业的来了:

https://github.com/Microsoft/VisualStudioUninstaller

Visual Studio Uninstallation sometimes can be unreliable and often leave out a lot of unwanted artifacts. Visual Studio Uninstaller is designed to thoroughly and reliably remove these unwanted artifacts.

看看这描述,完美符合需求。

图穷匕见

二话不说把这程序搞下来,然后就开始了。

嗯?这么快就180/202的进度了?这不是再有20个包就卸载完了么。定睛一看,发现这个计数是倒着的。然后就是漫长的等待。

开始时间大概是晚上9点45分

终于,在11点19分的时候,最后一个包也被卸载掉了。历时94分钟,还是安装在SSD盘的情况下。好吧,毕竟VS,我们都习惯了的。

还是微软工程师仗义,解我磁盘空间倒悬之急啊!卸载程序都不安生,这次的经历可以说是非常的智障了。