如何在安装或运行时检查S60平台版本
2011-01-20 14:27
706 查看
开发伙伴平台:
S60 1st Edition
S60 2nd Edition, all S60 2nd Edition FPs
S60 3rd Edition, S60 3rd Edition FP1
详细描述
所有的S60程序SIS安装包都带有一个Series60ProductID代表mandatory dependency。
这个dependency指名运行该程序所需要最小的S60平台版本,以防安装在老版本上。可以参考文档S60 Platform: Identification Codes以获取关于Series60ProductID的更多用法介绍。
Series60ProductID只能在安装时用来检查,并且只能中断安装或提示不兼容信息。我们有时需要一个单独的SIS包但可以根据不同的S60平台选择安装文件。下面的解决方案描述如何在一个pkg文件中处理这样的情况,同样也提供了一段示例代码演示了如何在运行中判断平台版本:
解决方案
pkg文件中的平台版本判断部分,即使在IF模块中没有可用的属性来判断S60平台版本,我们也可以通过在ROM中的特定文件来处理.
每个Series60ProductID组件都作为一个单独的sis文件存在z:/system/install/目录下,按如下命名方式排列:
每个手机上都有一个与当前平台版本相关的关联文件,同样所有支持的老版本文件也有。例如,Nokia N70(2nd Edition, FP3)包含除了Series60v3.0.sis以外的文件,而Nokia E70(3rd Edition)只包含Series60v3.0.sis。
下列文件名可以用在pkg文件中:
在运行时检查平台版本
下列方法可以在运行时检查S60平台版本,返回时,将获得版本号。注意当主版本号表明S60版本时,副版本号将表明Feature Pack版本(如2.6=2nd Edition, FP2)
S60 1st Edition
S60 2nd Edition, all S60 2nd Edition FPs
S60 3rd Edition, S60 3rd Edition FP1
详细描述
所有的S60程序SIS安装包都带有一个Series60ProductID代表mandatory dependency。
这个dependency指名运行该程序所需要最小的S60平台版本,以防安装在老版本上。可以参考文档S60 Platform: Identification Codes以获取关于Series60ProductID的更多用法介绍。
Series60ProductID只能在安装时用来检查,并且只能中断安装或提示不兼容信息。我们有时需要一个单独的SIS包但可以根据不同的S60平台选择安装文件。下面的解决方案描述如何在一个pkg文件中处理这样的情况,同样也提供了一段示例代码演示了如何在运行中判断平台版本:
解决方案
pkg文件中的平台版本判断部分,即使在IF模块中没有可用的属性来判断S60平台版本,我们也可以通过在ROM中的特定文件来处理.
每个Series60ProductID组件都作为一个单独的sis文件存在z:/system/install/目录下,按如下命名方式排列:
z:/system/install/Series60v3.0.sis | S60 3rd Edition z:/system/install/Series60v2.8.sis | S60 2nd Edition, Feature Pack 3 z:/system/install/Series60v2.6.sis | S60 2nd Edition, Feature Pack 2 z:/system/install/Series60v2.1.sis | S60 2nd Edition, Feature Pack 1 z:/system/install/Series60v2.0.sis | S60 2nd Edition z:/system/install/Series60v1.2.sis | S60 1st Edition (1.2) z:/system/install/Series60v1.1.sis | (n/a) z:/system/install/Series60v1.0.sis | (n/a) z:/system/install/Series60v0.9.sis | S60 v0.9
每个手机上都有一个与当前平台版本相关的关联文件,同样所有支持的老版本文件也有。例如,Nokia N70(2nd Edition, FP3)包含除了Series60v3.0.sis以外的文件,而Nokia E70(3rd Edition)只包含Series60v3.0.sis。
下列文件名可以用在pkg文件中:
;--------------------------------------- #{"MyApplication"},(0x10000001),1,0,0 ; Lowest supported S60 platform version is 2nd Edition (0x101F7960), 0, 0, 0, {" Series60ProductID"} ; install common files for all supported platforms ; ... IF EXISTS("z:/system/install/Series60v2.8.sis") ; install 2nd Ed, FP3-specific files ELSEIF EXISTS("z:/system/install/Series60v2.6.sis") ; install 2nd Ed, FP2-specific files ELSEIF EXISTS("z:/system/install/Series60v2.1.sis") ; install 2nd Ed, FP1-specific files ELSE ; 2nd Edition-specific files ENDIF ;---------------------------------------
在运行时检查平台版本
下列方法可以在运行时检查S60平台版本,返回时,将获得版本号。注意当主版本号表明S60版本时,副版本号将表明Feature Pack版本(如2.6=2nd Edition, FP2)
//------------------------------------------------------------------------------ #include <f32file.h> // link against efsrv.lib _LIT(KS60ProductIDFile, "Series60v*.sis"); _LIT(KROMInstallDir, "z://system//install//"); void GetS60PlatformVersionL( RFs& aFs, TUint& aMajor, TUint& aMinor ) { TFindFile ff( aFs ); CDir* result; User::LeaveIfError( ff.FindWildByDir( KS60ProductIDFile, KROMInstallDir, result ) ); CleanupStack::PushL( result ); User::LeaveIfError( result->Sort( ESortByName|EDescending ) ); aMajor = (*result)[0].iName[9] - '0'; aMinor = (*result)[0].iName[11] - '0'; CleanupStack::PopAndDestroy(); // result } http://wiki.forum.nokia.com/index.php/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%AE%89%E8%A3%85%E6%88%96%E8%BF%90%E8%A1%8C%E6%97%B6%E6%A3%80%E6%9F%A5S60%E5%B9%B3%E5%8F%B0%E7%89%88%E6%9C%AC //------------------------------------------------------------------------------
相关文章推荐
- 如何在安装或运行时检查 S60 平台版本
- 安装和运行时如何判定S60平台版本?
- 在运行期间检查S60平台版本(转)
- 如何检查电脑端安装的Flash Activex 控件版本?
- 如何查找安装的 Java 版本(而不在 Windows 或 Mac 中运行小应用程序)?
- 如何在Windows10平台中安装MySQL数据库的最新版本
- 如何在安装了高版本的.NET的设备上运行低版本.NET的应用程序
- 如何快速正确的安装 Ruby, Rails 运行环境(非windows平台)
- 如何在安装了高版本的.NET的设备上运行低版本.NET的应用程序
- 如何检查SharePoint Portal Server 2003的安装文件的版本
- 如何检查DirectX的版本(用于Windows Phone Developer Tools的安装检查)
- linux下安装idle和运行(linux下有两个python版本如何运行其中一个)
- 从入门到精通:如何检查Silverlight是否安装
- Ubuntu下安装成了客户端版本,纠结半天,教训啊,如何配置SSH服务器
- win64bit安装oracle 10g版本检查未通过解决 提示要求的结果: 5.0,5.1,5.2,6.0 之一 实际结果: 6.1
- 低版本wordpress运行在PHP5.4上如何关闭warning信息
- 如何在WIN7_64环境下安装Oracle10g_64位版本
- Pidgin——我用的环保QQ版本。无需安装解压即可运行。送上我本人写的菜鸟教材。
- 如何在安装32位Oracle客户端组件的情况下以64位模式运行
- Oracle 安装 检查操作系统版本 必须是 5.0 5.1 的解决办法