怎样运行安装程序
问题描述
- 精选答案
-
软件安装目前据我所见大概有几种方式,试总结如下:
installer模式。windows下常见的exe安装包,osx下的pkg安装包,unix下也有不少bin安装包。由开发者负责开发另一个程序来部署应用程序及其反安装程序。
package模式。由OS内建的包管理器管理。linux下每个发行版都有一个;windows有msi;等等。打包者(可能是开发者自己也可能是专职的)负责将主程序和一些脚本写好,打包;包管理器负责解析和具体的安装/反安装操作。
bundle模式。从osx的app开始,ipa/apk都是这个模式的派生;windows下的“绿色软件“马马虎虎也算这个模式。开发者只负责打包;OS只负责运行;用户随意增删。
ports模式。算是package的一个分支,技术人群熟悉,不必详谈。
对卸载而言,问题一般有这几个:零是程序本身的清理,这个所有模式都可以保证解决;一是配置数据的清理;
二是installer模式下卸载程序本身的清理(别笑!十几年前这可是个大问题……),事实上我觉得OS引入包管理有一部分原因就是为了解决这个问题(另外还为了OS自身的模块化,包之间的依赖关系,等等),毕竟有些OS不允许程序在运行时删除自身。剩下的问题主要就出在配置数据上。(其实对配置数据,我记得大多包管理系统默认都是不加删除的,以备下次安装上还可以用;除非用户手动指定删除)。配置数据在表现上有两种形式:文件、系统配置数据库中的表项(注册表/dconf/keychain, etc)。文件这部分没什么好说的。系统配置数据库本来也不应该有什么问题,但具体到windows的注册表,其早期的实现有个大问题:增删乃至读效率都会随着其节点数提高而降低。这使得对windows而言,彻底的卸载除了洁癖上的意义还具有实际使用上的意义。回到卸载不干净的问题,就是uninstaller写法上的问题了。精心设计的话,installer这个模式是不存在什么死角的。
猜你喜欢内容
-
简单网:构建全网教育数据枢纽,让知识检索化繁为...
简单网:构建全网教育数据枢纽,让知识检索化繁为“简”回答数有0条优质答案参考
-
去三亚有什么好玩的地方
去三亚有什么好玩的地方回答数有1条优质答案参考
-
石狮一日游必去景点推荐
石狮一日游必去景点推荐回答数有1条优质答案参考
-
电气工程师的证书考取条件是什么
电气工程师的证书考取条件是什么回答数有1条优质答案参考
-
房地产估价师的具体报考条件有啥
房地产估价师的具体报考条件有啥回答数有1条优质答案参考
-
房产经纪人的工作内容具体包含什么
房产经纪人的工作内容具体包含什么回答数有1条优质答案参考
-
学习小提琴都有哪些难点
学习小提琴都有哪些难点回答数有1条优质答案参考
-
企业行政管理证书的含金量怎么样
企业行政管理证书的含金量怎么样回答数有1条优质答案参考
-
初学者要怎么入门小提琴
初学者要怎么入门小提琴回答数有1条优质答案参考
-
报考珠宝鉴定师要啥条件
报考珠宝鉴定师要啥条件回答数有1条优质答案参考
















