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 ...
随机推荐
- International Conference for Smart Health 2015 Call for Papers
Advancing Informatics for healthcare and healthcare applications has become an international researc ...
- 使用 SoapUI 测试ASP.NET Web API
我们为不同的目的开发了很多web服务,经过授权的用户就可以访问和使用这些web服务.soapUI 是一个强大的测试web服务的工具,他不仅可以测试SOAP服务,他也支持测试RESTful服务.在这里我 ...
- TCPView for Windows
TCPView是一个用来显示系统中所有的TCP和UDP端点(endpoint)列表的Windows程序,包括本地和远程的网络地址,以及TCP连接的状态.在Windows Server 2008.Vis ...
- Reactive Extensions(Rx) 学习
Bruce Eckel(著有多部编程书籍)和Jonas Boner(Akka的缔造者和Typesafe的CTO)发表了“反应性宣言”,在其中尝试着定义什么是反应性应用. 这样的应用应该能够: 对事件做 ...
- [译]MVC网站教程(四):MVC4网站中集成jqGrid表格插件(系列完结)
目录 1. 介绍 2. 软件环境 3. 在运行示例代码之前(源代码 + 示例登陆帐号) 4. jqGrid和AJAX 5. GridSettings 6. ...
- ABP理论学习之验证DTO
返回总目录 本篇目录 验证介绍 使用数据注解 自定义验证 标准化 验证介绍 首先应该验证应用的输入.用户或者其它应用都可以向该应用发送输入.在一个web应用中,验证通常要实现两次:在客户端和服务器端. ...
- 使用shell/python获取hostname/fqdn释疑
一直以来被Linux的hostname和fqdn(Fully Qualified Domain Name)困惑了好久,今天专门抽时间把它们的使用细节弄清了. 一.设置hostname/fqdn 在Li ...
- Javascript中相同Function使用多个名称
原创文章转载请注明出处:@协思, http://zeeman.cnblogs.com 看Log4js源码有如下实现: ['Trace','Debug','Info','Warn','Error', ...
- MA均线组合
MA5.MA13.MA21.MA34.MA55.MA90.MA120.MA250
- python 栈和队列(使用list实现)
5.1.1. Using Lists as Stacks The list methods make it very easy to use a list as a stack, where the ...