pkg文件中判断目标系统的方法
来源:互联网 发布:神州浩天软件下载 编辑:程序博客网 时间:2024/06/08 08:17
根据广大网友的经验,S60 3rd MR/FP1/FP2,S60 5th在系统中均有一些特征文件,表明了系统的实际版本,在某些应用场景下,目标机器的系统版本非常重要,以便于针对不同的系统部署不同的dll或exe,来适配更多的机型。
目前最普遍的方式是判断Series60文件,描述如下:
z:/system/install/Series60v3.0.sis : S60 3rd MR
z:/system/install/Series60v3.1.sis : S60 3rd FP1
z:/system/install/Series60v3.2.sis : S60 3rd FP2
z:/system/install/Series60v5.0.sis : S60 5th
可以在pkg文件中,判断这些文件是否存在,以安装对应的dll或exe,示例如下:
IF (EXISTS("z:/system/install/Series60v3.2.sis"))
"sys/bin/aa.dll"-"!:/sys/bin/aa.dll"
ELSEIF (EXISTS("z:/system/install/Series60v3.1.sis"))
"sys/bin/aa(0-7).dll"-"!:/sys/bin/aa.dll"
ELSE
"sys/bin/aa(0-8).dll"-"!:/sys/bin/aa.dll"
ENDIF
该段说明如果是FP2则安装aa.dll库,如果是FP1则安装aa(0-7).dll库,MR则安装aa(0-8).dll库,其他的以此类推。
在程序中可以用以下函数判断系统版本:
void CAppInfo::DeterminSystemVer() {
iSystemVer = 30;
RFs fs;
if( KErrNone != fs.Connect() ) { return; }
TFindFile finder(fs);
if( KErrNone == finder.FindByDir( _L("Series60v5.0.sis"), _L("z://system//install//") ) ){
iSystemVer = 50;
} else if( KErrNone == finder.FindByDir( _L("Series60v3.2.sis"), _L("z://system//install//") ) ){
iSystemVer = 32;
} else if( KErrNone == finder.FindByDir( _L("Series60v3.1.sis"), _L("z://system//install//") ) ){
iSystemVer = 31;
}
fs.Close();
}
剩下的,就由大家自由发挥了!
- pkg文件中判断目标系统的方法
- 在pkg文件中,判断是否已经安装特定UID的软件
- tolua++ 的pkg 脚本系统
- C#中判断系统的网络连接状态的方法
- pkg文件
- C# 判断32位还是64位系统的一个简单方法(当然目标平台不能是x86)
- Linux系统中查找文件的方法
- VC判断目标主机是否存活,模拟系统的ping
- VC判断目标主机是否存活,模拟系统的ping
- Linux系统pkg-config工具的使用
- Linux系统pkg-config工具的使用
- MFC判断某路径下的目标文件是否存在
- MFC判断某路径下的目标文件是否存在
- MFC判断某路径下的目标文件是否存在
- MFC判断某路径下的目标文件是否存在
- C/C++中判断一个文件是否存在的方法
- 在程序中判断一个文件是否可读的方法
- C++中判断一个文件是否存在的方法
- Windows局域网共享错误排查
- 转移概率矩阵(Transition Probability Matrix)
- CPU 核心指令集发展回顾
- CPU架构及指令集之研究
- 远程解决"终端服务器超出最大允许连接数"的方法
- pkg文件中判断目标系统的方法
- cpu和操作系统的几种模式
- 这道题目你会做吗?
- IE工具栏也有关机按钮
- dataview的使用
- winform 如何隐藏Form的标题栏
- WinXP设置自动关机/重启时间WinXP设置自动关机/重启时间
- PKG文件范例详解
- 进程间通信 - 匿名管道实现