Jun 302010
 

Nokia has now provided a new page of its own, which contains more detail on the process. Please no longer use the script provided below, but instead head over to this site

Nokia’s QA has finally managed to ok my signed file, which means that the process I have used seems to be acceptable for now (they can change their opinion anytime, so don’t sue me). I promised a tutorial some time ago – here it is.

Step 1 – get Qt 4.6.3, Carbide 2.4 and SMI
First of all, it is important that you have the latest version of Qt (aka 4.6.3) on your machine. Furthermore, you should also be the proud owner of a somewhat recent Carbide.

As the Smart Installer is not included in the Qt 4.6.3, you need to download it from here and copy it to the folder indicated in the other post.

Step 2 – check the pkg files
If your Carbide is set up sanely, it will generate two .pkg files. The first one of them is called _template, and contains the build settings for your app. There is not much to do here except for setting up vendor and name strings.

The _installer file, however, creates the installer. It must be modified to use the creator ID Nokia has specified – the relevant section and the correct ID are in the snippet below:

; BallZ_installer.pkg generated by qmake at 2010-06-23T19:14:41
; This file is generated by qmake and should not be modified by the user
;

; Language
&EN

; SIS header:
#{"BallZ installer"},(0x2002CCCF),1,0,0

; Localised Vendor name
%{"Tamoggemon"}

; Unique Vendor name
:"Tamoggemon"

; Manual PKG pre-rules from PRO files
; Default dependency to Qt libraries
; Default HW/platform dependencies
[0x101F7961],0,0,0,{"S60ProductID"}
[0x102032BE],0,0,0,{"S60ProductID"}
[0x102752AE],0,0,0,{"S60ProductID"}
[0x1028315F],0,0,0,{"S60ProductID"}

"C:/Symbian/Carbide/workspace/QtBallZ/BallZ.sis" - "c:admBallZ.sis"
@"C:/Qt/4.6.3/smartinstaller.sis",(0x2002CCCD)

Be aware that Qt will actively fight the changes, and will destroy them after every qmake run.

Step 3 – set up SIS builds
Now, build one sis for each pkg using Carbide’s SIS building settings.

The settings should be straightforward (sign all with the developer certificate), but do not change the file names of the “inner sis” – the outer sis won’t be able to find it otherwise.

Step 4 – Build, disable
In the next step, build the actual sis files so that Carbide creates them. Then, open the SIS properties and disable the rebuilding of the inner SIS:
qtidiotos Signing QT apps for Ovi   the inofficial how to

Step 5 – express sign inner sis
This one should be straightforward – get the inner SIS signed like you would sign any other application for distribution.

Step 6 – rebuild outer SIS
If you look again at the installer pkg, you will find a sis file name specified. Delete all sis files in the output folder of the project, and copy the signed file from step 5 into the place. Then, rename it to bear the name mentioned in the _installer pkg. In the case above, it were BallZ.sis.

Then, rebuild the SIS files – but check again that the other sis file is disabled as per step 4.

Step 7 – sign the “compound”
In the next step, get the compound signed. Don’t forget to rejoice – the Symbian Foundation has just earned some extra money.

Step 8 – upload to Ovi
Upload the compound to Ovi, setting the UID3 to the UID of the outer!!!! sis file.

Then, enjoy the wait.

P.S. Just in case anyone wonders if it works on a Vivaz: no dice. I tried it, and the installer fails with a weird message.

Legal disclaimer: no warranties for correctness!


Related posts:

  1. Ovi-certified Qt Smart Installer for Symbian – the download
  2. Packaging Qt applications for the Nokia N900 – the smart way
  3. Bitmap application icons for Symbian – Qt edition
  4. Symbian – new signing criteria drop on the 5th of January
  5. Compiling a command-line application with Carbide.c++

  4 Responses to “Signing QT apps for Ovi – the inofficial how-to”

  1. 你好,,我是个菜鸟,,想在x6桌面加个快捷方式,,就是一按就锁屏幕,,但我不知道锁屏幕的uid,,希望您能告诉我,,虽然我们不相识,但在无际的网络上,,能求到您,,也是我们的缘分吧,,谢谢了

  2. Hello, I am a rookie,, would like to add a shortcut to the desktop x6, is one click on the lock screen, but I do not know the lock screen, uid,, hope you can tell me, although we did not know, but The infinite network, and can ask to you, it is our fate,, thank you

  3. Hi Cookie,
    I am sorry, please retry – I cannot understand your question.

    Alternative, hit Forum Nokia – there are Chinese and Japanese users there.

    All the best
    Tam Hanna

  4. 未和尚不在公司不支付噶死人噶飞吧热工qwtafvbef a

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subscribe without commenting