首 页 | 新 闻 | Symbian | Android| Windows Mobile | J2ME | 下载中心 | 游戏策划招聘与求职 | 购书指南 | 视频教程
您现在的位置: 开发视界 >> Symbian >> Symbian开发 >> 正文
S60 3.0上的程序安装后启动运行和程序开机自动运行
作者:Jrive    文章来源:Jrive的专栏    更新时间:2006-12-20 20:45: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无法实现开机自启动功能。

相关文章:
在S60中、正常UIQ3中使用设备无关字体变斜的解决方案
S60 3rd下实现Video Call 与 VoIP Call
symbian学习的开始
Symbian 应用软件开发、测试与S60 平台安全常见问题问答
Symbian开发环境设置(Microsoft Visual Studio.Net 2003工具)已测试通过
S60 3rd版下,如何运行控制台程序?
明晰C++内存分配的五种方法的区别
Symbian OS 应用程序在手机上无法运行的种种原因
 

站点地图 | 加入收藏 | 联系站长 | 广告服务 |
QQ:280529124  Tel:0592-8271361 辽ICP备05021703号