Qt Smart Installer 使用介绍

概述

诺基亚Qt智能安装工具(Nokia Smart Installer)的使用使得在Symbian^3平台以前的手机运行Qt应用变得可能,并确保为Symbian手机平台开发的Qt应用能够工作在最新的Qt环境中。基本工作原理是在开发Qt应用的时候将Smart Installer和Qt应用一起打包成.sis安装文件,当封装了Smart Installer的.sis文件被安装到手机上时,系统会自动检测手机里是否安装了Qt及当前的Qt版本是否满足当前Qt应用的工作需要,如果当前的环境不能满足Qt应用需要,则会从诺基亚的服务器上自动下载更新新的Qt环境,保证Qt应用能够安装和执行。在诺基亚Symbian^3平台以后的手机中,Qt库都将被预置于手机中,但是为了使得签名后的Qt应用程序都使用于所有的手机,建议Qt应用都包含Smart installer。

下载

下载地址,选择最新版本下载,目前版本为nokiasmartinstallerforsymbian-0.18beta.zip。带有Smart Installer的测试应用可以下载。用户可以在官方Smart installer网址查看更多信息。
将下载后解压出来的smartinstaller.sis文件拷贝到Symbian SDK目录下,和epoc32在同一级目录,如果你安装的是Nokia Qt SDK,那么目录是C:\NokiaQtSDK\Symbian\SDK

使用

编译自签名的智能安装包

在DOS命令中执行qmake可以生成编译所需的所有文件

C:\Sources\Application>qmake

调用make release-gcce生成可发布的symbian应用

C:\Sources\Application>make release-gcce

调用make installer_sis,会生成加入了智能安装工具的安装包application_installer.sis

C:\Sources\Application>make installer_sis

注: 如果调用的是make sis文件将生成没有封装智能安装工具的安装包application.sis

编译Symbian签名的智能安装包

在DOS命令中执行qmake可以生成编译所需的所有文件

C:\Sources\Application>qmake

调用make release-gcce生成可发布的symbian应用

C:\Sources\Application>make release-gcce

调用带证书和密钥选项的make sis,生成application.sis

C:\Sources\Application>make sis QT_SIS_CERTIFICATE=developer.cer QT_SIS_KEY=developer.key

将生成的application.sis提交签名,然后调用make installer_sis,会生成加入了智能安装工具的安装包application_installer.sis
注意:在执行make installer_sis之前需要将封装包的UID改成0×2002CCCF详细内容参考附录

C:\Sources\Application>make installer_sis QT_SIS_CERTIFICATE=developer.cer QT_SIS_KEY=developer.key

注意:这里的developer.cerdeveloper.key是开发者自己用于签名的开发者证书。新生成的application_installer.sis需要重新进行Symbian签名。

附录:.pkg封装文件

自签名的.pkg文件格式内容如下(部分)

; application_installer.pkg generated by qmake at 2010-06-04T15:17:38
; This file is generated by qmake and should not be modified by the user
;

; Language
&EN

; SIS header: name, uid, version
#{“application installer”},(0xA000D7CE),1,0,0

; Localised Vendor name
%{“Vendor”}

; Unique Vendor name
:”Vendor”

使用Symbian签名的.pkg文件格式如下(部分)

; application_installer.pkg generated by qmake at 2010-06-04T15:17:38
; This file is generated by qmake and should not be modified by the user
;

; Language
&EN

; SIS header: name, uid, version
#{“application installer”},(0×2002CCCF),1,0,0

; Localised Vendor name
%{“Vendor”}

; Unique Vendor name
:”Vendor”

区别在

  1. {“application installer”},(0xA000D7CE),1,0,0 变成了
  2. {“application installer”},(0×2002CCCF),1,0,0

Tags: , ,
This entry was posted on Friday, June 11th, 2010 at 10:26 PM and is filed under Qt技术, s60. You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.

Leave a Reply