一、介紹
2017/12/05更新:packages下載地址:http://s.sudre.free.fr/Software/Packages/resources.html
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的功能,定制安裝過程。作為開源社區的一份子,實在是一款良心之作!