pkg

安裝包配置文件

pkg文件也就是安裝包配置文件,是製作Symbian OS安裝程序的核心部分。

塞班文件


概述

包含制裝件需息,根據件容,件器(裝程序擴展.)制程序裝程序,.件。
.件.程序,件, 智程序署合適置,編程序。
.件,必須首編.件。制Symbian程序安裝文件的過程,實際上主要就是編寫pkg文件的過程。pkg文件像Symbian的資源文件一樣,有自己完整的語法體系,掌握了pkg文件的語法,就基本上掌握了製作安裝程序的大部分知識,所以熟悉pkg文件的結構,對於製作安裝程序來說,是非常重要的。
本文以一個最基本的pkg文件為例,介紹了一些經常使用的語法,並簡單描述了根據該文件生成sis文件的方法。

例子

下面列出一個完整的例子。這個例子比較簡單,但是會經常用到,基本上一些最一般的安裝程序都會是這種格式。
; HelloWorldBasic.pkg
;
;Language - standard language definitions
&EN
; standard SIS file header
#{"HelloWorldBasic"},(0x10005B91),1,0,0
;Supports Series 60 v2.0
(0x101F7960), 0, 0, 0, {"Series60ProductID"}
;
"..\..\..\epoc32\release\thumb\urel\HelloWorldBasic.APP"-"!:\system\apps\HelloWorldBasic\HelloWorldBasic.app"
"..\..\..\epoc32\data\z\system\apps\HelloWorldBasic\HelloWorldBasic.rsc"-"!:\system\apps\HelloWorldBasic\HelloWorldBasic.rsc"
這個pkg文件是完整的,只要把文件目錄適當調整一下,就可以可以使用了。這段例子來自S60 SDK2.1的例子代碼。
下面對這個文件的各個部分依次做一些解釋說明:
l 以分號開始的行,是註釋。這些註釋主要是給開發人員看的,生成器會忽略它們。
l &EN,表示安裝程序使用的語言。EN表示使用美國英語,具體的代碼的意義可以在SDK中查到,這裡不詳細列出。sis文件支持多語言安裝,可以在這裡進行設置,比如,&EN,FR,IT,表示是多語言的。對於多語言的安裝程序,有一些語法和規則與其對應,具體的使用方法請查閱SDK。如果你只是希望可以做出一個安裝程序,那麼使用&EN就可以,不過需要保證後面出現的字元串部分使用英文字母。
l #{"HelloWorldBasic"},(0x10005B91),1,0,0。這是標準Symbian SIS文件的頭部。所有的pkg都必須包含這行,而且必須在語言設置的後面。其中HelloWorldBasic是程序的名字,在安裝過程中,可能會使用。ox10005B91,是所開發程序的UID,具體點說就是mmp文件中UID項的後面那個數字。接下來的數字,依次是主版本號,副版本號,和創建號,這些號碼用於安裝程序的版本控制。
l (0x101F7960), 0, 0, 0, {"Series60ProductID"}。這一句說明了這個程序在安裝之前需要準備的組件,實際上就是要求必須是Series60的平台。如果還需要其它的組件,也需要在這裡說明。0x101F7960,是組件的UID,它其實表示的是S60 2.0的平台,對於S60 2.1的平台,應該是0x101F9115。0,0,0分別是主副版本號和創建號,Series60ProductID則是當需要顯示的時候用於向用戶顯示的說明文字。
l 最後就是實際操作的語句了。第一個雙引號中的是文件的源位置,它只的是編譯后的文件在PC中的位置。你可以使用絕對位置,也可以像例子那樣使用相對位置。第二個雙引號中的是文件在目標機器中的位置。“!:”表示由用戶來選擇安裝在哪個驅動器下面,如果不想由用戶指定,可以使用“C:”,表示安裝在電話的C驅動下面。這兩行語句表示的意思就是將指定位置的文件複製到電話的指定位置中。還有很豐富的語法,請查看S60的SDK。
對於一般的要求來說,這些語法已經可以達到將程序安裝到電話上的目的了。

SIS文件

可以使用SDK附帶的Sisar來生成sis文件。Sisar可以將上述pkg文件導入到工程中,這樣基本上大部分的設置都完成了,再做一些簡單的Sisar所需要的設置,就可以生成sis文件了。
另外,也可以使用Sismake這個工具在命令行生成sis文件。它的語法很簡單,主要是根據pkg文件的設置來生成sis文件。

單詞縮寫


package包裝。縮寫用於貨運單據上的貨物數量(Quantity)。

密鑰生成


私鑰生成器(Private Key Generator,簡稱為PKG),是IBE體系中的核心部分,它的功能作用是:在IBE系統初始化時,產生主密鑰(Master Key)和公開參數(Public Params),並公開發布Public Params ;根據用戶的ID,為用戶生成相應的私鑰。它的實現流程是:
Step 1:系統初始化。PKG生成主密鑰和公開參數,保密主密鑰,而公開參數需要公開。
Step 2:私鑰生成。PKG根據主密鑰和用戶的ID生成用戶的私鑰。
Step 3:加密消息。用某實體的ID和公開參數計算公鑰並加密消息。
Step 4:解密消息。實體通過私鑰解密。
基於IBE下實體間的通信:實體A想和實體B進行安全通信:根據實體B的ID以及PKG發布的公鑰參數,計算出實體B的公鑰,加密信息后發送給實體B;如果實體B尚未從PKG獲取自己的私鑰,就從PKG獲取自己的私鑰;實體B通過私鑰解密實體A發送的信息。
在實體從PKG獲取自己私鑰的過程中,PKG需要對實體身份進行鑒別:防止冒充者獲取該實體的私鑰;私鑰只能由相應的實體獲取,否則就沒有秘密可言。

安裝程序


在蘋果系統Mac OS X中,pkg是很常見的安裝包,類似Windows下的安裝程序。
我們在Mac上安裝軟體,常常要通過pkg格式的安裝包進行安裝。它類似Windows下的安裝程序,但是非常統一高效。通常pkg安裝包都有歡迎、安裝信息、許可協議、介紹、目的宗卷、安裝和摘要等項目,有的pkg還有自定義選項或者註冊軟體的選項。
pkg安裝包的製作
Mac下製作安裝包的軟體有XCode自帶的PackageMaker、iceberg和packages。
國產手機操作系統(cos)軟體格式。