Mac OS平台下应用程序安装包制作工具Packages的使用介绍
一、介绍
Windows下面开发好的应用程序要进行分发时有很多打包工具可供选择,如Inno Setup, InstallShield, NSIS, Advanced Installer, Qt Installer Framework等。甚至很多人还选择结合WinRar+Bat来创建应用程序安装包。Mac OSX下好像可供选择的工具不多,功能强大的工具大部分都需要进行购买。DMG是Mac OS X 上的一种压缩镜像文件格式,类似于Windows上常见的ISO文件,可以作为一种打包工具。直接让用户加载镜像即可安装,不失为一种较好的应用分发方式。很多开发商也都是这么做的:
此外,pkg是Mac OS X平台下另一种常见的安装包格式。类似于Windows平台的安装包程序。pkg包通常具备一系列安装流程,引导用户完成安装过程。制作pkg安装的工具有XCode自带的Package Maker(新版的XCode好像不包含了),Packages。这篇博客主要来讲讲Packages的使用过程。Packages是一款开源的安装包制作工具,能够指定文件的安装路径、定制安装流程、资源国际化、插件机制、执行安装脚本,能够满足大部分的安装场景。
二、使用
Packages有两种模式:一种称为Distribution,这种模式下的安装包可以包含多个组件,分别指定安装位置即可;而Raw Package则适用于只有一个安装组件(package)的情况下使用,是Distribution的一种简化形式。这里要解释下Packages中“组件(package)”的含义。其实在很多的安装包制作软件中,都存在“组件(package)”的概念。一个组件(package)就是一个具备特定安装属性的部分,是对需要安装的程序的一个逻辑划分。比如一个安装包中包含两部分,一部分需要安装到系统目录,一部分安装到用户目录。从逻辑上就可以划分为两个组件(package),分别为它们指定不同的安装属性。
为Packages工程选定目录,这里要注意的是,最好将“Project Directory”选定为安装文件所在的目录。否则容易出现安装包运行失败的现象。当然,"Project Name"可以随意决定。
新建项目完成后即进入到项目主页,默认看到的是Settings页面,可以设置安装包名(也即编译出来的pkg文件名),安装包输出位置,安装包格式等信息。
标准的安装过程分为:Introduction, Read Me(可选), License(可选), Destination Select, Installation Type, Installation, Summary七个步骤。右侧下面的加号是可以为每个步骤定制文本信息的。主要的每添加一条信息前面都有一个国旗标志,这是国际化的选项。Packages制作出来的安装包会针对系统语言自动显示对应的国际化资源。
这是安装步骤定制过程的最后一步。
开始定制安装组件(package)。新建项目后会有一个默认的和项目同名的组件(package),可设置组织标识符、版本号、执行动作和安装选项。其中最重要的是Payload页面。
Payload页面用于指定安装文件。Contents中会显示出系统所有的安装位置,如下选择/Library/QuickLook作为安装路径。
选中文件夹后即点击下面的加号添加需要安装的文件,这里作为示例添加了一个pdf文件。默认的安装目录是根目录,这里我们添加完文件之后,点击Settings中的Set按钮重置。这样,在QuickLook文件夹图标上就会出现一个准星图标,表示文件将安装到这个位置。
新建了几个组件(package)作为示例。
对于某些应用在安装时可能需要做一些额外的操作,这里可以指定执行脚本。分为安装前和安装后执行。
、
添加几个组件(package)之后,可以为每个package指定包名称和描述,这些信息在安装时会显示给用户看!
安装包编译生成之后即可开始运行测试了:
Read Me和License的内容都可以写到一个txt文本中,在安装步骤设置中指定好即可。
指定安装位置,并不是指组件安装位置,而是指安装到哪个物理磁盘中去。
哈,安装流程成功结束!到指定的安装位置查看,妥妥的安装文件都出现了!
三、小结
总的来说,Packages是一个非常好用的工具。其功能可以满足绝大部分的安装场景,操作简单,界面简洁。此外,Packages还支持插件哦,通过XCode中的Installer Plugins模板可创建各式各样的插件来增强Packages的功能,定制安装过程。作为开源社区的一份子,实在是一款良心之作!
Mac OS平台下应用程序安装包制作工具Packages的使用介绍的更多相关文章
- Mac OS平台下应用程序安装包制作工具Packages的使用介绍(补充)
上一篇:Mac OS平台下应用程序安装包制作工具Packages的使用介绍 补充说明 上一篇文章中介绍了如何使用Packages如何创建mac下的安装包.但是这样制作出来的安装包只能安装到系统的文件路 ...
- C#软件winform程序安装包制作及卸载程序制作
使用vs2010 winform程序开发的软件的人比较多,程序的开发是为了在不同的人不同的机器使用,为了使不同的机器能使用该软件就需要在制作程序安装包,安装包里必须包含该软件运行所选的所有环境,下面就 ...
- [程序安装包制作] Advanced Installer 备忘
原文:[程序安装包制作] Advanced Installer 备忘 Product Information - Product Details 这个重点是Product Version.讲这个之前, ...
- 安装包制作工具 SetupFactory使用1 详解
2014-11-19 Setup Factory 是一个强大的安装程序制作工具.提供了安装制作向导界面,即使你对安装制作不了解,也可以生成专业性质的安装程序.可建立快捷方式,也可直接在 Windows ...
- 安装包制作工具 SetupFactory 详解
Setup Factory 是一个强大的安装程序制作工具.提供了安装制作向导界面,即使你对安装制作不了解,也可以生成专业性质的安装程序.可建立快捷方式,也可直接在 Windows 系统的注册表加入内容 ...
- 使用Setup Factory安装包制作工具制作安装包
在我们开发完软件后,除了极个别案例我们把整个目录复制给客户用外,我们一般都需要做成安装包,方便整个软件的部署操作,以安装包的部署操作可能简单的是复制文件,也可能包括一些注册表.数据库等额外的操作,不过 ...
- NSIS程序安装包制作
nsis下载地址:http://www.pc6.com/softview/SoftView_14342.html nsis使用: 启动NSIS程序主界面,选择"可视化脚本编辑器(VNISEd ...
- mac os x下的程序快速切换快捷键
按下command + tab键正向切换程序 按下command + shift + tab键反向切换程序 按下command + tab键选择程序后,仍然按下command键不放,然后按下optio ...
- mac os x之解决npm安装包失败,或者nodejs工程缺少依赖
在国内做开发,由于各种各样的原因,导致网络总是那么不好,对于我们前端开发者,在使用npm的时候很可能因为网络问题导致包安装失败,然后我们又匆匆启动项目,导致缺少依赖等各种问题,下面将会介绍一个淘宝的n ...
随机推荐
- WPF之命令浅谈
一.认识命令 1.1命令的特点 提到“命令”,我们应该想到命令的发出者,命令的接受者,命令的内容,准备工作,完成任务,回报工作...与事件中的发送者,接受者,消息,处理,处理,处理一一对应,如果是单纯 ...
- asp.net identity UserSecurityStamp 的作用
UserSecurityStamp 主要是用来对用户安全相关信息做一个快照. 在使用asp.net identity 的 CreateAsync(TUser user) 创建一个用户的时候,如果开启了 ...
- ABP理论学习之领域服务
返回总目录 本篇目录 介绍 IDomainService接口和DomainService类 样例 创建一个接口 服务实现 调用应用服务 一些讨论 何不只使用应用服务 如何强制使用领域服务 介绍 领域服 ...
- 迷你MVVM框架 avalonjs 入门教程
新官网 请不要无视这里,这里都是链接,可以点的 OniUI组件库 学习教程 视频教程: 地址1 地址2 关于AvalonJs 开始的例子 扫描 视图模型 数据模型 绑定 作用域绑定(ms-contro ...
- Npm install failed with “cannot run in wd”
Linux环境下,root账户,安装某些npm包的时候报下面的错误,例如安装grunt-contrib-imagemin时: Error: EACCES, mkdir '/usr/local/lib/ ...
- 《Entity Framework 6 Recipes》中文翻译系列 (29) ------ 第五章 加载实体和导航属性之过滤预先加载的实体集合和修改外键关联
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 5-13 过滤预先加载的实体集合 问题 你想过滤预先加载的实体集合,另外,你想使用 ...
- LoTVideo:只需两步,让HTML5原生态的Video茁壮成长
开源地址:https://github.com/dunitian/LoTHTML5/tree/master/LoTVideo 第一步引入lotvideo.js(先确认在这个前面引入了jq包) 第二步: ...
- C#设计模式系列:适配器模式(Adapter)
在实际的软件系统设计和开发中,为了完成某项工作需要购买一个第三方的库来加快开发.这带来一个问题,在应用程序中已经设计好的功能接口,与这个第三方提供的接口不一致.为了使得这些接口不兼容的类可以在一起工作 ...
- 让hammer完美支持Pixi.js - 2D webG库
由于项目改造,采用2D webG的pixi库,那么基于canvas的结构上,事件就是最大的一个问题了 改造的原理很简单,把hammer里面的addEventListeners事件绑定给第三方库代替,事 ...
- 数据结构与算法JavaScript (四) 串(BF)
串是由零个或多个字符组成的有限序列,又叫做字符串 串的逻辑结构和线性表很相似的,不同的是串针对是是字符集,所以在操作上与线性表还是有很大区别的.线性表更关注的是单个元素的操作CURD,串则是关注查找子 ...