對於在Symbian 3rd平臺上開發軟件,在後期一定會碰到如何發佈自己的軟件問題。因爲在軟件開發前期,我們可以使用基本免費的開發者證書和任意的UID3號碼。等到軟件功能實現,通過相應的測試後,就得準備發佈自己的軟件了。在其他開發平臺上發佈一個軟件應該是一件很輕鬆的事情,但在Symbian 3rd上的軟件發佈還得掌握不少的知識。
Symbian 3rd的軟件簽名共分爲6中,Self Signing、Open Signed Online、Open Signed
Offline、Express Signed、Certified Signed和Symbian Signed for Nokia,每種簽名方式對應了軟件的不同能力(Capabilities)要求和簽名過程的不同,詳細的說明請參考其他資料。一般而言,對於能力要求只要不用到: CommDD DiskAdmin NetworkControl MultimediaDD AllFiles DRM TCB這七項能力,當需要正式發佈該軟件時,多采用Express Signed方式,因爲這種簽名方式相對來說價格最便宜,操作流程最簡單,簽名結果可及時獲取。(如果需要用到那七項能力之一的話,需要發佈軟件,則就要提交測試公司做Certified Signed了。)
假設這樣的過程,之前一直都基於Open Signed簽名測試軟件且相應的Application UID3也是嚮導任意生成的非保護段UID3值,如0xe9732e5d。現在已經對該軟件做過測試,且自認爲可以發佈了,這時就要考慮使用Express Signed簽名了,步驟如下:
1. 假如還沒有Publisher ID,則先購買Publisher ID;同時使用該Publisher ID生成public.cer和private.key雙文件證書格式。(找深圳沃通購買[url]www.wosign.com[/url])
2. 假如還沒有TCT Content ID,則購買TCT Content ID,確保使用Express Signed前已有TCT Content ID。(可以找深圳沃通代購)
4. 替換該軟件項目中的UID3,假如申請下來的UID3爲0x2******8(以0x2開頭),則需要替換以下幾種情況下的老UID3:
a) mmp文件,兩處:UID3(mmp文件中UID行的後面那串)和SECUREID
b) **_reg.rss文件,一處:UID3
c) *application.cpp文件,一處:const Tuid
d) *.pkg文件,至少一處。Header屬性中的UID3。若在install部分路徑中包含相應UID3變量值的,這部分也要替換
e) bitmaps.mk等位圖makefile,裏面的targetpath包含UID3的話,也需要替換
5. 驗證替換後軟件的運行情況。重新編譯生成*.sis軟件,且用開發者證書籤名,在相應的測試機上能安裝並能正常運行(很有必要,要不會浪費錢的)
6. 使用Publisher ID重新簽名*.sis軟件。命令如signsis "Yoda.sis" "Yoda.sis" public.cer private.key ******;或者signsis "Yoda.sis" "Yoda.sisx" public.cer private.key ******。打包前需注意安裝包後綴名必須是.sis的,而不能是sisx。此時,簽名後的軟件是不能在測試機上安裝的了
7. 打包軟件並提交到[url]www.symbiansigned.com[/url]網站。打包時需準備3個文件,如Yoda.sis、Yoda.pkg和readme.txt文件,打包壓縮時不帶路徑,好像readme.txt文件還不能是unicode格式的(這個我沒試,中文系統的缺省用ANSI可以)
8. 按照Express Signed簽名的步驟嚮導一直進行,最後提交下載即可。嚮導步驟中不是強制要填寫的信息就留空,方便點。