<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无法实现开机自启动功能。 |