Accessibility

Mobile and Devices Developer Center

 

Creating SIS files for distribution


Alex Michael

Alex Michael

www.handyx.net
Created:
25 September 2006
User Level:
Beginner

The SIS format provides a way to package your SWF application file with any extra files (TXT files and so forth) into a single installer file on Symbian devices. In this article, I will walk you through the steps of creating SIS files for Flash Lite applications running on the Symbian operating system (OS). I will review the sample files included in this article, the development tools and scripts you will need to create SIS files, how to create SIS files, and how to test SIS files.

With large applications, the Flash Lite player can run out of memory causing the application to crash. To avoid memory overflows, you need to put different application parts into different files to load at runtime. In the example Arcade Heroes (included in the sample files for this article), there is one main SWF file, which contains the main menu and handles the loading of the games. The games are located in the subfolder called "games." In the example in this article, I have three files with a subfolder. To install them on the device you can send all the files separately to the handset, but the user then has to recreate your directory structure on the device and set up each file individually. The alternative is to create an installation file, an SIS file.

This SIS file works for Flash Lite 1.1 and Flash Lite 2.0 for mobile handsets using the S60 2nd edition and third edition operating system from Symbian.

Requirements

To follow this tutorial you will need to install the following software:

Flash Professional 8

Sample files:

Sample files

The make_sis_explained.zip file linked at the beginning of this article contains all the tools required to build SIS files for both the Nokia second and third Edition platforms. These tools are also included in the full Symbian SDK. You can download and install the Symbian SDK from here.

The SDK version required will depend on the device you are publishing to. You can find a list of devices and their SDKs at: http://www.symbian.com/developer/sdks/sdks_series60.asp.

The make_sis_explained.zip archive contains the following files:

ArcadeHeroes.swf SWF content
games/invaders.swf SWF content
games/pacman.swf SWF content
Arcade1_2nd_edition.SIS Nokia S60 2nd Edition SIS package
Arcade1_3rd_edition_signed.sis Nokia S60 3rd Edition signed SIS package
Arcade1_2nd_edition.pkg Nokia S60 2nd Edition SIS Package descriptor
Arcade1_3rd_edition.pkg Nokia S60 3rd Edition SIS Package descriptor
makesis.php PHP script
mykey.key sample certificate key, created using makekeys.exe
mycert.cer sample certificate, created using makekeys.exe
makekeys.exe Symbian application to create signing keys
signsis.exe Symbian application to sign SIS files
makesis1.exe Symbian application to make SIS files for Nokia S60 2nd Edition
makesis2.exe Symbian application to make SIS files for Nokia S60 3rd Edition

Development tools and PHP script

Tools and development

The predominant tool for the creation of SIS files is makesis. It outputs a SIS file using a PKG configuration file to specify the details. In this example, I also provide you with a PHP script that you can also use to automate this SIS generation procedure. You can also use it for simple single language projects that have multiple files or when you prefer not to have to create a PKG file. Other notable tools for doing this are SWF2SIS, sisar, and unSis.

PHP script

As I mentioned, the PHP script that I provide generates both the SIS and the configuration PKG file for your project. Here are some advantages of using the PHP script over makesis:

  • Required knowledge of PKG syntax is minimal.
  • The script (as it has been provided) is appropriately set up for creation and installation of Flash based content.
  • The script only implements mandatory details of the PKG.

The main disadvantage of the PHP script is that it needs to be modified to account for multi-lingual projects. Also, the makesis tool still needs to be installed as the script invokes it to create the SIS.

Here is an outline of the PHP script that creates a SIS file with a main SWF file. You specify all SWF files of a subfolder for installation on Symbian second edition and Symbian third edition devices.

"appName"=> "Arcade1"
// The name of your application
	
"vendor"=> "Sprite"
// The name of your company

"player"=> "2"
// The version of the flash lite player your application is for
// (1.1 or 2)

"appUID_2nd"    => "0x10207F05"
// The UID of the application for 2nd Edition platform       
(get your block of id's at the symbian website)

"appUID_3rd"    => "0xA0000001"
// The UID of the application for 3rd Edition platform 
// (get your block of ID's at the symbian website)

"flashFolder_2nd"   => "!:\\Nokia\\Others\\",
// the folder where the  swf files will be installed on Series 60 2nd
// Edition handsets.

"flashFolder_3rd"   => "!:\\Others\\",
// the folder where the  swf files will be installed on Series 60 3rd
// Edition handsets.

"S60ProductID"  => "0x200005F9"
// See the ID's at http://www.newlc.com/Common-products-UIDs.html

"sign_password" => "yourpassword"
// The password you used with makekeys

$subFolder  = "games";
// The name of the subfolder which contains additional swf files

$MainSWF    => "ArcadeHeroes.swf";
// Your main swf file

Creating SIS files

For the third edition platforms, you need to specify the platform or device your SIS will be for. Get the platform or device UIDs from http://www.newlc.com/Common-products-UIDs.html.

For the third edition platforms you’ll need to sign your SIS files. Otherwise the device will not accept it. To sign your SIS file you first need to create a key. Do this by using the makekeys.exe. Use the code line syntax below and follow the on screen instructions.

makekeys -cert -password yourpassword -len 2048 -dname "CN=Your Name OU=Development OR=Your Company Ltd CO=GB EM=your@email.com" mykey.key mycert.cer

To build the SIS files, run the PHP script I have provided you. Open the script in a text editor to see which parameters you need to edit to tailor it to your project. To run the script, use the following on the command line:

php makesis.php

If all is successful you should see the following output:

Creating Arcade1_2nd_edition.pkg ...
  Including games/invaders.swf
  Including games/pacman.swf
Processing Arcade1_2nd_edition.pkg...
Created Arcade1_2nd_edition.SIS

Creating Arcade1_3rd_edition.pkg ...
  Including games/invaders.swf
  Including games/pacman.swf
Processing Arcade1_3rd_edition.pkg...
Created Arcade1_3rd_edition.SIS

SIGNSIS Version 4, 0, 0, 1
A utility for signing Software Installation (SIS) files.
Copyright (c) 2004 Symbian Software Ltd. All rights reserved.

Signing

Primary:
Issued by Alex Michael.
Issued to Development.
Valid from 16/08/2006 to 16/08/2007.
Done!

If you want to perform the packaging manually, you will need to write your own PKG file, which will specify which files will be stored in a specific folder on the device, the name and the UID of the application, and for third edition platform devices, the Vendor and the ProductID of the platform or the device. Here are the steps to perform the packaging manually:

  1. Run makesis and pass the pkg file as parameter:

    makesis yourpackagefile.pkg
    

    Now you should have a SIS file in the same folder as your PKG file.

  2. Sign the package file using signsis.exe:

    signsis -o -s -v yoursisfile.sis yoursignedsisfile.sis mycert.cer mykey.key yourpassword
    

The mycert.cer and mykey.key are the files you created earlier using makekeys.exe, while yourpassword is the password you entered when you where creating the key.

Testing SIS files

There are differences in the folder structure of different devices. To make your application appear on the Nokia N70, you need to install it in Nokia/Others. On the Nokia N80 you’ll need to place it into Others.

N70 – Nokia\Others

N80 – Others //warning: install this in a folder called others not other.

On the Nokia N80, you have to install on the memory card. On the Nokia N70, you have to install on the phone memory.

Where to go from here

For the original source files for arcade heroes running on mobile devices and five other arcade-style games in Flash Lite 1 , 1.1 and 2.0, get a copy of my book, Animating with Flash 8: Creative Animation Techniques, and check out the CD at the front of the book.

About the author

Alex Michael is Managing Director of Sprite Interactive Ltd. Sprite Interactive is a new media company that specializes in providing a mobile based solutions. Current clients include Vodafone, Orange, T-Mobile, ESPN, Disney, Jamba, Jetix. To see Sprite's portfolio of mobile games, applications and mobile pets visit www.Handyx.net, our product showcase site.