这几天微软因为.Net开源的原因又搞出了个“大新闻”,知乎上也是一片喊着Java可以去死了的声音,但是作为一个微软粉转路人,昨天折腾了我一下午的事情简直让我想变成一生黑。

事情是这样的:上个周末的时候看着又要告急万里江山一片红的C盘,想着还是去卸载一些东西吧,于是遵从微软的教导,打开控制面板-程序-卸载程序,结果看来看去发现实在没有什么可以卸载的,于是打算拿从来没有用过的SQL Server下手。不要问我为什么装它,装VS的时候貌似是默认的,亦或者我没有把它勾掉。说实话我知道VS是一个优秀的IDE,但是我仍然对它没有什么好感,过于臃肿,要不是课程要用到我才不会装呢。不论如何,我是打算拿SQL Server开刀了,列表中列出了大概六到七个相关的组件,嗯,挨个卸载吧。开头两个点击卸载后提示依赖于另一个程序,要先卸载另一个,好,你说先卸载就先卸载,结果依赖的程序点击卸载后卸载出错,出错就出错吧,也不少见了,但是可气的是只告诉我出错又不告诉我哪里出错,要是移动设备什么的也就算了,告诉用户出错原因用户可能也束手无策。但是作为桌面操作系统,就不能告诉我到底哪里错了吗?这个问题后面再讨论,还是继续我的卸载之旅吧。既然正常的卸载方法卸载不掉,那就只能用非常手段了,于是祭出Installer Clean Up,这是微软官方的用于删除msi安装包的工具,虽然很久没有更新了,但是在删除一些极其顽固的软件的时候还是很有用的(没错,Office,说的就是你)。找到要卸载的软件后点Clean,继续坑爹,删除进程卡住了,这是一个命令行工具,主要是扫描注册表和系统文件再执行删除,但是它运行到一半的时候卡住了。看来这个办法也行不通了,作为一个轻度强迫症患者,我想卸载却无法卸载简直就是折磨,于是一通Google,在微软官网找到了官方卸载修复工具,down下来之后总算是把SQL Server删除了。但是这却引起了更严重的问题,Office 2013每次打开的时候都要进行一次配置,当时我还没有在意,以为是没有重启导致的,结果昨天重启之后还是这个样子,这简直可以把强迫症逼疯好麻!!结果在尝试了修改注册表等方法无果后,还是痛下决心决定重装Office(昨天是要做明天答辩的PPT的,这个时候决定重装需要多大的决心你造吗?)这中间又出了多么坑爹的注册表权限问题我就不提了,安装完Office 2013 SP1后打补丁吧,我不说要打三个G的Office补丁了,但是你有两个跟Office和SQL Server没半毛钱关系的补丁出现未知错误是怎么回事?我已经不想吐槽了,又花了大半个晚上的时间才把这两个补丁装上。

微软是一家伟大的公司,它的产品技术也是世界顶级的,但是作为一个长年Windows用户(其实是没钱买不起Mac,呵呵说多了都是泪)实在不觉得Windows是个优秀的产品,它为了兼容性和市场份额而背负了太多的包袱。而且Windows作为一个操作系统本身的复杂程度就已经非常高,谁也不能保证不出问题,但是它总是会出一些莫名奇妙的问题我就无法理解了。如果是第三方软件出问题还可以辩解说是第三方软件的问题,但是微软自家产品出的问题也不少,比如我每次要重装Office的时候都几乎必然会出问题(注册表是重灾区),还经常有上文这样无法卸载的东西,甚至用官方的东西卸载后导致其他部分出问题,一个人生病,全家卧床不起。你可以说我本来就不应该去卸载SQL Server,一个软件连最基本的卸载都搞不定我还怎么对它有好感?

大概Windows认为大多数用户无法自己解决问题,所以出错提示都相当简短,最多有个错误号,即使到系统日志里看到了具体的错误一般也是个程序的返回码,比如我最后安装那两个补丁时报的错,还有这周在网络实验室的Server 2008 R2上添加活动区域的时候,都是告诉用户错了,但是具体哪里错了我就是不告诉你,其实系统也不知道到底哪里错了,它只从程序那里得到一个错误码而已。没有很深的专业知识和经验想要查出问题在哪简直是不可能。而且因为Win的开放度和兼容性导致Win的目录结构常常变的极其混乱,这个时候出问题大多数人还是重装了事吧。

昨天在遇到最后的更新问题时,在微软的官方论坛上列出的方法有十几种之多,几乎大半要求重启,作为一个普通用户我觉得这种建议是毫无意义的,因为太过于麻烦,可操作性差,全部尝试也不一定能解决问题,原因还是错误原因千奇百怪,根本原因呢?怕还是在Windows自己身上。什么时候Windows对软件的限制多一些,强硬一些,把自家大型软件的耦合性降低一些(比如VS做成插件模式就很好,不会像现在这样臃肿,当然我只是在闲扯),那么Windows的体验还能上升一个台阶。