软件安装与运行时环境全解析
1. 跨平台安装技术概述
在跨平台项目中,软件安装是至关重要的一环。Netscape和Mozilla开发的XPInstall技术,旨在支持浏览器、插件和扩展的跨平台安装。XPInstall借助抽象的理念达成其目标,不过它与Mozilla紧密耦合,不太适用于非Mozilla项目。
1.1 XPInstall的工作机制
XPInstall进行浏览器安装时,需要存根安装程序、XPInstall引擎和软件包。安装引擎是高度依赖Mozilla的C++代码,依赖XPCOM和JavaScript引擎。JavaScript引擎用于执行用JavaScript编写的安装脚本,而XPCOM则让JavaScript代码能够调用C++代码,也就是XPInstall引擎。
存根安装程序是一个原生C++应用,具备以下职责:
- 提供安装的用户界面,允许用户选择要安装的组件、启动或取消安装以及监控安装进度。
- 初始化XPInstall引擎。
- 根据用户选择,通过FTP或HTTP下载用户所选软件包对应的XPI文件。
- 按照软件包依赖顺序安装下载的每个XPI文件。
每个XPI包包含组件或应用,基本由特定平台的组件二进制文件、资源和描述安装逻辑与步骤的XPInstall脚本组成。XPI文件实际上就是一个包含特定目录结构和安装脚本的zip文件。示例XPI文件内容如下:
chrome/
chrome/venkman.jar
components/
components/venkman-service.js
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



