when setup isn't just xcopy

这是Rob Mensching想给每位访问他博客的浏览者的友情提示~
我猜,他想说的很明了,无论是使用者还是开发者亦或是Installer(安装者),都应该明白"Setup"的概念已不再是简单的"xcopy".当我们想去了解和使用Install/Uninstall的时候,仅仅把文件统统copy到用户的机器上只是最基本的要求,现在更多的是需要思考如何更合理的,更有效的,更方便的完成xcopy之前,之中以及之后的工作!

 

比如常见的有:

xcopy之前1) 从哪里Copy到哪里?Copy那些文件?Copy到哪个平台的哪个系统上?

2) 在那台机器上我们有权限Copy吗?有我们需要的已经安装好的必要组件吗?

3) 如何将文件组织进我们需要的文件夹结构里?用户可以指定自己的安装目录吗?

4) 我们需要用户输入和配置某些使用信息吗?怎样将这些信息得到并保存下来,保存到哪里?

 

xcopy之中1) 用户可以选择Cancle吗?如果Cancle了,我们能把状态恢复吗?

2) 遇到异常怎么办?磁盘空间不够,读写错误,资源冲突,如何处理?如何恢复?

 

xcopy之后1) 如何卸载?如何恢复安装前状态?

2) 卸载时怎么保证文件未被使用?

3) 卸载时用户可以选择Cancle吗?

 

当然这些问题只是仅仅使用简单的xcopy的思维和方式时应该注意到的~还未包括其他更加复杂的安装,比如安装自定义的SQL实例,基于IIS的Website或者其他第三方的插件.

在此只是希望能"提出问题",引发思考,继而能了解到Setup并不是一件容易的事情,要做得好更是困难.有幸的是,现在很多的安装工具已经很容易的解决掉上面提出的所有难题.

 

常有同事说"我们的产品再好,如果安装不上去...也是白搭!",此话虽是玩笑,但也引出几个有趣的观点:

安装1) 用户第一次感受到某个产品的不是产品本身,而是这个产品的安装.

2) 安装的成败关系到产品的成败. (真的... =,=", 包括卸载,想想流氓软件)

3) 安装虽然和用户很少打交道,但它是帮助用户解决产品使用问题的主要且有效的途径之一. (Repair/Reinstall)

4) 安装也是产品生命周期中不可或缺的一部分,它伴随着产品的生至死.

当然,这里不是在给安装"歌功颂德",但其重要性已是不争的事实.

 

Installer是做install的Developer,他们开发的依然是件产品,面对的依然是最终端的用户,只是解决的问题是集中的,明确的,那就是如何把一个产品让自己放心也让用户放心的安装上并卸载掉,偶尔还能帮助用户修复.

 

哈哈, installation is a product when setup isn't just xcopy!

posted @ 2009-12-06 11:55  shalahu  阅读(405)  评论(0编辑  收藏  举报