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 ...
随机推荐
- Windows驱动开发技术详解HelloWDM例子win7下无法安装
HelloWDM例子编译完成之后,在win7下安装显示 查看setupapi.dev看到如下信息 这个C:\MyDriver_Check目录完全不是我指定的,我放到c盘根目录下 查看inf [Sour ...
- Android课程---序列化与反序列化(转)
ava序列化与反序列化是什么?为什么需要序列化与反序列化?如何实现Java序列化与反序列化?本文围绕这些问题进行了探讨. 1.Java序列化与反序列化 Java序列化是指把Java对象转换为字节序列的 ...
- LA
grmon -altjtag -u 公式rand()%(b-a),是求范围随机数的计算公式,%是做求余运算,正整数对n求余的范围肯定是在0~n-1之间,也就是rand()%(b-a)的范围是0~b-a ...
- log4j2.xml实用例子
一个多月前,我写了篇关于log4j.xml配置的文章,点击此处查看:http://www.cnblogs.com/guogangj/p/3931397.html 最近,我把自己的log4j升级到2.0 ...
- 迷你MVVM框架avalon在兼容旧式IE做的努力
很多时候,写代码就像砌砖头,只要我们不关心盖楼的原因.建筑的原理.土木工程基础和工程经验,就算我们砌了100栋高楼,我们也就只是一个砌砖工人,永远也成为不了一个工程师,更别说建筑师了.而那些包工头也只 ...
- Kinect for Windows SDK开发学习相关资源
Kinect for Windows SDK(K4W)将Kinect的体感操作带到了平常的应用学习中,提供了一种不同于传统的鼠标,键盘及触摸的无接触的交互方式,在某种程度上实现了自然交互界面的理想,即 ...
- 《Node即学即用》—— 读后总结
导图
- UIwebView 和 H5交互详情
背景: 最近公司准备上一个只有原生登录界面 + H5网页 ,并且支持ios7.0 以上系统的混合app;这可把我难住了,原生的UI界面我可以正写反写各种style把界面搭建起来.而要这个app的难点在 ...
- Nginx与Apache比较
Nginx特点:高性能epoll 异步非阻塞多个连接(万级别)可以对应一个进程 支持反向代理支持7层负载均衡静态文件.反向代理.前端缓存等处理方便支持高并发连接,每秒最多的并发连接请求理论可以达到 5 ...
- 开源地图SharpMap源码解析-(1)简介
1.简介 SharpMap最新版基于.NET Framework 4,采用C#开发的地图渲染引擎,非常易于使用.我这次研究的是比较稳定发布的V1.1版本.可以在GitHub下载该源码,地址:https ...