一个关于安装包的“笑话”

题外话
好吧,看来我的文字太调侃了。 

本意是想强调是:1)安装包的重要性,即便腾讯这样的大公司,出了问题,就是笑柄;2)安装包也得有考虑用户体验,微软的具有借鉴意义。  

不过想不明白为啥被评为非精品文章,对程序员没有帮助?
 

缘起

前几天在cnbeta上看到一则新闻:《囧:Win8开着任务管理器就无法安装腾讯TM》。

 

一个关于安装包的“笑话”

 

多数看官看完后,都是捧腹大笑,觉得TM的这安装包做的也……too simple, sometimes naive,着实很傻很天真啊。

 

不过俺重点不是给大伙讲笑话的, 我们来看看到底出了什么问题,顺带看看有什么好的方法加以改进?

 

分解

1,原因:

貌似很直观,就是安装包在pre-check的时候误将Task Manager进程当作Tencent Messenger进程,只因他俩都是同样的Image File Name,即TM.exe。

 

2,分析:

其实通过“名字”来查找某个进程是否已经存在,对安装包来说,相当的普遍,包括MS。做的更加夸张地要算是MS了,举个例子,为了装个VS 2010的SP1,它会强制你关闭所有Window Title包含“VS”信息的,包括资源管理器,IE,甚至某个在Notepad中已经打开的txt文件,而这个txt文件文件名恰巧是“VS Serial number”……

 

另一个典型的例子,如何保证某个程序只运行一个实例?对了,貌似也是通过判断进程名存在否,是吧?! 

 

有同学可能就问了,为嘛不弄个精确匹配呢?嗯……让俺的理解是,不是不想做,而是迄今为止,还没有做的必要,靠名字匹配几乎没出什么问题……额……当然除了这倒霉的TM.exe~

 

另外,有个问题得提醒各位看官,人家TM支持系统列表里面是没有Win 8的!也就说,您可以嘲笑这程序不够向前兼容,但不能怪人家没提醒您,这东西就不应该被装在Win 8上的,如果你非要给他争一下,俺只能说“您老太较真了!” 。当然TM在Win 8正式release后,肯定得想办法解决这个问题的,这是后话。

 

3,延伸:

让俺来理解这个“笑话”,他的本质不是简单的以名字来判定是对是错的问题,而是某种用户体验的问题。就拿上面MS强制关闭很多不相关进程的操作来说,很少碰到有人抱怨你微软太霸道,让用户关闭了那些不应该关闭的程序。同样的是关闭后再继续,区别就在于;一个是隐式提醒,一个是显示提醒。

 

TM隐式的说
TM隐式的说,有个程序(本例就是TM.exe)在running着,不行,您得关了,不然不让你继续装。(TM为了图方便,定了一个前提:反正叫TM.exe就是有我一个,我不说您也清楚……)

MS显示的说
MS显示的说,有好几个VS.exe或者相关的在running着,您瞅瞅吧,赶紧能保存就保存了,然后乖乖关掉,不然不让你继续装。(MS有个更狠的,可以直接帮你kill掉所有进程,然后再安装完成后再帮你打开……谨慎啊,貌似是直接kill,不带save的。)

这两个安装流程到底那个更胜一筹呢?您也有个数了吧。

 

归纳
TM挺好一软件,就因为安装包这个小误会,让大家装不上,真是太可惜了!所以啊,不能说安装包就是个附属品,他真的很有作用,也很重要! 

你可能感兴趣的:(笑话)