S60 3.0上的程序安裝後啓動運行和程序開機自動運行

<1>安裝後啓動運行

在S60 2.x和S60更早的版本上可以在pkg文件裏使用"FILERUN,RUNINSTALL,RUNWAITEND" 指令,實現安裝後的啓動執行.

如:下面的安裝包在安裝完成以後會執行一個叫other的app完成一些特殊的任務.

//for S60 2.x or former

"C:/Symbian/6.1/Series60/Epoc32/Release/armi/urel/mymainApp.app"  -"!:/system/apps/mymainApp/mymainApp.app"
"C:/Symbian/6.1/Series60/Epoc32/Release/armi/urel/mymainApp.rsc"         -"!:/system/apps/mymainApp/mymainApp.rsc"
"C:/Symbian/6.1/Series60/Epoc32/Release/armi/urel/mymainApp_caption.rsc" -"!:/system/apps/mymainApp/mymainApp_caption.rsc"
"C:/Symbian/6.1/Series60/Epoc32/Release/armi/urel/mymainApp.aif"         -"!:/system/apps/mymainApp/mymainApp.aif"

"other.APP" -"!:/system/apps/mymainApp/other.APP" ,FILERUN,RUNINSTALL,RUNWAITEND

如果需要主程序在安裝完成以後啓動執行, 則只需要如下的pkg文件格式即可:

"C:/Symbian/6.1/Series60/Epoc32/Release/armi/urel/mymainApp.rsc"         -"!:/system/apps/mymainApp/mymainApp.rsc"
"C:/Symbian/6.1/Series60/Epoc32/Release/armi/urel/mymainApp_caption.rsc" -"!:/system/apps/mymainApp/mymainApp_caption.rsc"
"C:/Symbian/6.1/Series60/Epoc32/Release/armi/urel/mymainApp.aif"         -"!:/system/apps/mymainApp/mymainApp.aif"

"C:/Symbian/6.1/Series60/Epoc32/Release/armi/urel/mymainApp.app"  -"!:/system/apps/mymainApp/mymainApp.app",FILERUN,RUNINSTALL,RUNWAITEND

在S60 3.0上如果要想實現同樣的效果pkg文件裏必須使用"FILERUN,RUNINSTALL"指令的簡寫形式:

如下:

//for S60 3.0 or latter
"C:/Symbian/9.1/S60_3rd_mr/Epoc32/data/z/resource/apps/Your.rsc"      -"!:/resource/apps/Your.rsc"
"C:/Symbian/9.1/S60_3rd_mr/Epoc32/data/z/resource/apps/Your_aif.mif" -"!:/resource/apps/Your_aif.mif"
"C:/Symbian/9.1/S60_3rd_mr/Epoc32/data/z/private/10003a3f/import/apps/Your_reg.rsc"   -"!:/private/10003a3f/import/apps/Your_reg.rsc"

"C:/Symbian/9.1/S60_3rd_mr/Epoc32/release/gcce/urel/Your.exe"       -"!:/sys/bin/Your.exe",FR,RI

注意,此時必須使用Symbian sign的證書來對該安裝包進行sign, self-sign對FR,RI等指令無效.

<2>開機自動運行

在S60 2.x上的開機自動運行有多種方法,這裏不在重複:

在S60 3.0上的開機自動運行需要按一下步驟實現:

1先建一個UID3.rss的文件
文件內容如下:

#include <startupitem.rh>

RESOURCE STARTUP_ITEM_INFO test
{
    executable_name = "!://sys//bin//HelloWorldBasic.exe";
    recovery = EStartupItemExPolicyNone;
}

其中executable_name 的值爲開機要自動運行的目標程序的exe
文件保存爲工程的UID3的值,後綴爲.rss(如:mmp中 UID    0x0 0xA000017F就保存爲A000017F.rss)

2在工程的mmp中加上剛建的A000017F.rss
如:

START RESOURCE A000017F.rss 
TARGETPATH   resource/apps

END 

3在pkg文件;Files to install後加上

"../../../epoc32/data/z/resource/apps/A000017F.rsc"                     -"c:/private/101f875a/import/[A000017F].rsc"

然後正常編譯你的工程,最後需要注意的也是需要用symbian sign的證書對該安裝包簽名, self-sign無法實現開機自啓動功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章