pkg

pkg

安裝包配置文件
pkg文件也就是安裝包配置文件,是制作Symbian OS安裝程序的核心部分。
    中文名: 外文名:pkg 别名: 包 括:安裝包配置文件 核心部分:制作Symbian OS安裝程序 屬 于:sis文件

基本介紹

概述

pkg文件也就是安裝包配置文件,是制作Symbian OS安裝程序的核心部分。搜索它包含了制作安裝文件所需要的全部信息,根據這個文件的内容,sis文件生成器(安裝程序的擴展名是.sis)制作生成應用程序的安裝程序,也就是.sis文件。

PKG文件中包含的各種信息包括供應商名稱,軟件開發人員,要從中複制的應用程序文件以及其他相關文件。PKG文件中包含的信息是使用‘makesis‘命令創建的。

.sis文件相當于PC中的setup.exe這樣的程序,通過這個文件,Symbian OS的智能電話可以将應用程序部署到合适的位置,使得我們所編寫的程序可以在手機中正常工作。

為了生成.sis文件,必須首先編寫.pkg文件。因此制作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"} ; "......epoc32releasethumburelHelloWorldBasic.APP"-"!:systemappsHelloWorldBasicHelloWorldBasic.app" "......epoc32datazsystemappsHelloWorldBasicHelloWorldBasic.rsc"-"!:systemappsHelloWorldBasicHelloWorldBasic.rsc"

這個pkg文件是完整的,隻要把文件目錄适當調整一下,就可以可以使用了。這段例子來自S60SDK2.1的例子代碼。

下面對這個文件的各個部分依次做一些解釋說明:

l以分号開始的行,是注釋。這些注釋主要是給開發人員看的,生成器會忽略它們。

l&EN,表示安裝程序使用的語言。EN表示使用美國英語,具體的代碼的意義可以在SDK中查到,這裡不詳細列出。sis文件支持多語言安裝,可以在這裡進行設置,比如,&EN,FR,IT,表示是多語言的。對于多語言的安裝程序,有一些語法和規則與其對應,具體的使用方法請查閱SDK。如果你隻是希望可以做出一個安裝程序,那麼使用&EN就可以,不過需要保證後面出現的字符串部分使用英文字母。

l#{"HelloWorldBasic"},(0x10005B91),1,0,0。這是标準SymbianSIS文件的頭部。所有的pkg都必須包含這行,而且必須在語言設置的後面。其中HelloWorldBasic是程序的名字,在安裝過程中,可能會使用。ox10005B91,是所開發程序的UID,具體點說就是mmp文件中UID項的後面那個數字。接下來的數字,依次是主版本号,副版本号,和創建号,這些号碼用于安裝程序的版本控制

l(0x101F7960),0,0,0,{"Series60ProductID"}。這一句說明了這個程序在安裝之前需要準備的組件,實際上就是要求必須是Series60的平台。如果還需要其它的組件,也需要在這裡說明。0x101F7960,是組件的UID,它其實表示的是S602.0的平台,對于S602.1的平台,應該是0x101F9115。0,0,0分别是主副版本号和創建号,Series60ProductID則是當需要顯示的時候用于向用戶顯示的說明文字。

l最後就是實際操作的語句了。第一個雙引号中的是文件的源位置,它隻的是編譯後的文件在PC中的位置。你可以使用絕對位置,也可以像例子那樣使用相對位置。第二個雙引号中的是文件在目标機器中的位置。“!:”表示由用戶來選擇安裝在哪個驅動器下面,如果不想由用戶指定,可以使用“C:”,表示安裝在電話的C驅動下面。這兩行語句表示的意思就是将指定位置的文件複制到電話的指定位置中。還有很豐富的語法,請查看S60的SDK。

對于一般的要求來說,這些語法已經可以達到将程序安裝到電話上的目的了。

SIS文件

可以使用SDK附帶的Sisar來生成sis文件。Sisar可以将上述pkg文件導入到工程中,這樣基本上大部分的設置都完成了,再做一些簡單的Sisar所需要的設置,就可以生成sis文件了。

另外,也可以使用Sismake這個工具在命令行生成sis文件。它的語法很簡單,主要是根據pkg文件的設置來生成sis文件。

密鑰生成

私鑰生成器(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)軟件格式。

相關詞條

相關搜索

其它詞條