Mac打包pkg(Packages)
下载 Packages:http://s.sudre.free.fr/Software/Packages/about.html
Packages分为两种模式:
Distribution(分布模式):
这种模式下,安装包中可以包含多个组件,可以分别安装到指定的位置;
Raw Package(原始模式): 只适用于只有一个安装组件(安装内容)的情况,一个组件(package)就是一个具备特定安装属性的部分,是对需要安装的程序的一个逻辑划分。比如一个安装包中包含两部分,一部分需要安装到系统目录,一部分安装到用户目录。从逻辑上就可以划分为两个组件(package),分别为它们指定不同的安装属性。
点击Next 为Package工程选定创建目录,Project Name 可以随意决定,将Project Directory选择为安装文件所在的目录。
创建好名称和选择好路径之后,点击Finish 则进入项目的主页,默认为Settings页面,该页面可以设置安装包的包扩展名,安装输出的位置和安装包的名字。
Presentation中 可以设置标准的安装过程,安装过程分为::Introduction, Read Me(可选), License(可选), Destination Select, Installation Type, Installation, Summary七个步骤,可以在右侧下面的+号,为每一步定制文本信息,并且每添加一条都可以在对应的国旗标志选择国际化语言。Packages制作出来的安装包会针对系统语言自动显示对应的国际化资源。
定制安装组件(package)
新建项目后会有一个默认的和项目同名的组件(package),可设置组织标识符、版本号、执行动作和安装选项。其中最重要的是Payload页面。
Payload页面用于指定安装文件。Contents中会显示出系统所有的安装位置。
在一个Payload工程中可以新建很多的组件,比去我们的安装包,需要依赖其他文件是就可以直接创建多个组件然后 选择组件的安装位置即可。
对于某些应用在安装时可能需要做一些额外的操作,这里可以指定执行脚本。分为安装前和安装后执行。
添加几个组件(package)之后,可以为每个package指定包名称和描述,这些信息在安装时会显示给用户看!
安装包编译生成之后即可开始运行测试了:点击【Build】【Build and Run】
然后运行:
Read Me和License的内容都可以写到一个txt文本中,在安装步骤设置中指定好即可。
安装流程成功结束!到指定的安装位置查看,安装文件都出现了!
Raw Package(原始模式):
有了上面的经验,Raw Package模式将更加简单这里不做过多的介绍,相信也很容易理解。
对pkg 进行签名
2.1 获取 installer 证书名字
终端输入
$ security find-identity -v
可以得到如下类型的数据:
FBFSDF8FE507B8D9FDA6FDSDADA786A3 "Developer ID Installer: ss (DSA34QV93)"
找到带 installer 的那条数据,并将双引号及内容一起复制
签名
cd 进入已打包的 pkg文件所在目录,命令行输入:
$ productsign --sign "Developer ID Installer" origin.pkg signed.pkg
pkgutil --check-signature 路径pkg
PKG 说明
pkg格式的软件安装其实就是把压缩在pkg里的文件解压出来并放置特定的路径下,再赋予它们特定的权限。
pkg相当于win下面的大型安装包,比如大型的micoffice软件,这种软件一般需要注册,而且安装时需要机主的权限。
dmg相当于win下面的rar压缩软件包。当然mac也能解压rar软件,很多都可以直接解压,然后拖到你需要的地方使用。
在数据产品中,PKG是塞班系统文件,也是Mac OS X中的pkg安装包,类似Windows系统中的.msi和.exe安装包,但给人的感觉更为高效和统一,或许这就是苹果系统更为高效的一个原因吧。由于 一般人使用塞班系统中pkg文件较少,所以这里主要讲讲较为常用的MAC系统中的PKG包的使用。