牛骨文教育服务平台(让学习变的简单)

 

Mac OS X:一种从APP中获得PKG的方法

      大家都知道,PKG文件是MacOS X InstallerPackage(/System/Library/CoreServices/Install.app程序)支持的程序安装文件格式,可以用于AppleRemoteDesktop软件来远程安装,同时也是作为支持客户化安装时首选的格式。由于系统本身支持图形化或者命令行的安装方式,所以安装方式灵活。

      管理员很多时候会遇到需要自己根据需要制作PKG安装程序的时候,尤其是供应商不提供PKG格式的安装程序,而是类似一个APP文件的时候,有时也不可能让供应商专门为自己的公司提供客户化的PKG安装程序,这时对管理员是一个挑战,当然有一些工具可供使用,但对于一些程序安装,并不太试用,或者说也很费时费力,要考虑目标机的诸多因素,相当于还原该安装程序的部分/全部的安装判断过程。而由于PKG文件本身方便简易的特点,其实有的APP安装程序里面就包含了所有需要的PKG安装文件,如果可以成功提取其中的PKG文件,可以减轻好多管理员的工作。

      下面就根据自己的经验,以HP的扫描仪ScanJet 4050为例,介绍这个提取的一般方法。

      首先,在HP的网站下载DMG格式的程序文件,我下载的是COL21134.dmg文件,双击后安装为COL21134盘,显示在桌面,可以看到里面仅包括了一个HP Scanner Install.app的安装执行文件,如下图:

      运行后可以选择需要的扫描仪型号,然后就可以安装了,如下图:

      其实所有的PKG文件都包含在了这个APP执行程序里面了。鼠标右键点击这个APP文件,

      选择Show Package Contents,在打开的窗口中依次进入目录Contents->Resources->Installers

      通过上图可以看见有一个叫做Install HP scanjet G4050.mpkg的文件,把它拖到Desktop上, 鼠标右键点击选择Show Package Contents,进入目录Contents,

      下面再回头继续看HP Scanner Install.app的显示窗口,就在Install HP scanjet G4050.mpkg的下面有一个Packages的目录,进去看看:

     可以看到里面有好多的mpkg和pkg文件,这些文件都是真正的安装扫描仪驱动和应用程序的安装程序包,现在我们把所有这些安装包文件拖动到Install HP scanjet G4050.mpkg显示窗口的Packages目录中. 看看里面的内容,将所有的用于其它型号的文件删除,如下图中选择的文件。

看上去好像完了,其实还没有,这是最后一步了。

     双击打开Install HP scanjet G4050.mpkg显示窗口中的Info.plist文件, 在Property ListEditor里面显示,找到IFPkgFlagComponentDirectory键,它的值原来是../Packages,现在改为./Contents/Packages, 保存后,就成功了。