昨天到客户公司,客户网管提出,金蝶的安装封装格式、包括补丁包都不太人性化,安装一个补丁,即便再认真,还是有漏网之鱼,总有些客户端没有打到,若软件安装包做成微软的MSI格式,就好多了,可以进行域的部署安装。 关于软件安装包的意见,我是第二次听到了。几年前,那时还在做用友服务,早期用友的用友产品是用VB封装、再后来是用 InstallShield 封装的,但补丁包多是 ZIP 包的,解压之后还要自己找软件安装位置、注册 DLL 文件,有一次安装的补丁机器实在太多,客户也报怨,痛苦之下,顺手给用友大爷提了个单,后来的补丁改成了 InstallShield 的可执行包。
---------------------------------------------------------------- 一、关于 MSI(Windows Installer) MSI 是微软推出来的一种安装程序格式。 MSI 文件是 Windows Installer 的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据。MSI文件将程序的组成文件与功能关联起来。此外,它还包含有关安装过程本身的信息。如目标文件夹路径、系统依赖项、安装选项和控制安装过程的属性。采用MSI安装的优势在于你可以随时彻底删除它们,更改安装选项,即使安装中途出现意想不到的错误,一样可以安全地恢复到以前的状态,正是凭着此强大功能,越来越多的软件开始使用MSI作为发行的方式了。 1.MSI文件的由来 说到MSI文件,不得不先说说 Windows Installer ,它不只是安装程序,而是可扩展的软件管理系统。 Windows Installer 的用途包括:管理软件的安装、管理软件组件的添加和删除、监视文件的复原以及使用回滚技术维护基本的灾难恢复。另外, Windows Installer 还支持从多个源位置安装和运行软件,而且可以由想要安装自定义程序的开发人员自定义。要想使用这些功能,就必须通过MSI文件。MSI文件是 Windows Installer 的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据。MSI文件将程序的组成文件与功能关联起来。此外,它还包含有关安装过程本身的信息:如安装序列、目标文件夹路径、系统依赖项、安装选项和控制安装过程的属性。 2.MSI的优势 Windows Installer 技术就是合并在一起发挥作用的两个部分:客户端安装程序服务(Msiexec.exe)和Microsoft软件安装(MSI)软件包文件。 Msiexec.exe程序是 Windows Installer 的一个组件。当Msiexec.exe被安装程序调用时,它将用Msi.dll读取软件包文件(.msi)、应用转换文件(.mst)并合并由安装程序提供的命令行选项。 Windows Installer 执行所有与安装有关的任务:包括将文件复制到硬盘、修改注册表、创建桌面快捷方式、必要时显示提示对话框以便用户输入安装首选项。 当双击MSI文件的时候,与之关联的 Windows Installer 的一个文件Msiexec.exe被调用,它将用Msi.dll读取软件包文件(.msi)、应用转换文件(.mst)进行进一步处理,然后 Windows Installer 执行所有与安装有关的任务:包括将文件复制到硬盘、修改注册表、创建桌面快捷方式,必要时显示提示对话框以便用户输入安装需要的信息,就这样,一个程序安装到了你的电脑上。 采用MSI安装的优势在于你可以随时彻底删除它们,更改安装选项,即使安装中途出现意想不到的错误,一样可以安全地恢复到以前的状态,正是凭着此强大功能,越来越多的软件开始使用MSI作为发行的方式了。 如果你对MSI文件感兴趣,可以用WinRAR等压缩软件打开,看一下里面的内容,满足一下好奇心。 3、MSI格式文件安装支持程序:WinMe和WinXP对MSI支持得很好,但其他版本的Windows就需要安装一个插件才能使用MSI格式的文件。
二、关于 InstallShield Macrovision 软件公司家族成员之一的InstallShield产品,是安装工具领域事实上的标准。InstallShield 软件是软件安装、配置软件包和升级解决方案领域内公认的标准。InstallShield已经成为安全安装软件的标准解决方案,涉及全球6.9万多个开发组织和5亿台电脑。公司提供广泛的产品和服务,为软件供应商、系统管理员以及最终用户提供成功的销售、管理和应用安装。 InstallShield 作为软件安装制作工具的业界老大,她的的多平台安装程序制作软件,可以制作任何平台任何系统下的安装程序,如Mac OS X、OS/400、Windows、AIX、 Solaris、Linux、HP-UX 或是各种类型的 Unix 系统。 目前来说,金蝶、用友的产品安装包,基本上都是 InstallShield Installation 6 封装格式的,在我印象中,好像 InstallShield Installation 6 确实不支持域的部署安装。 实际上,InstallShield Installation 是支持 MSI 封装格式的,或者说其生成的封装文件即支持传的 InstallShield 安装,又支持 MSI 安装,但其版本应该在 InstallShield Installation 10 以后。 InstallShield 是商业软件,购买其及升级其,价格都是不菲的。
----------------------------------------------------------------
实际上,这个问题再泛言之,是 ERP 应用,C/S 还是 B/S的问题。 软件发展到今天,到底是C/S好、还是B/S好,争论其实不少! 采用何种封装方式不是问题,问题是用户提出的这背后的问题,和背后的深层次需求是什么? 无论何种方式,客户感受问题,往往是从细节开始的。