注意,此时必须使用Symbian sign的证书来对该安装包进行sign, self-sign对FR,RI等指令无效.

来源:互联网 发布:广州国投网络批发城 编辑:程序博客网 时间:2024/06/06 20:20

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

原创粉丝点击