<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無法實現開機自啓動功能。