Using Spb AirSetup to create Pocket PC installers
Alexander Shargin (rudankort@softspb.com), March 31, 2003.
Summary
Spb AirSetup is a tool to create Pocket PC installers to be run
directly on Pocket PC without desktop PC (for Over-the-Air downloading).
It is a command line tool whereby you provide a CAB file, a EULA, a
readme and other parameters for it to generate a compressed, self-contained,
self-extracting installer (Pocket PC executable).
Over-the-Air
With the advent of Pocket PC Phone Edition (Pocket PC and mobile phone
with built-in GPRS support integrated) Over-the-Air program downloading
and installation is becoming a more and more common potential in
the Pocket PC world. Using this potential the installation is performed
on a Pocket PC without any support from a desktop PC. The only way to
install applications directly on Pocket PC is using CAB files. However
CAB files do have some serious limitations. They do not use compression,
which is crucial for decreasing the size of Over-the-Air downloads.
Neither do they provide an option to ask a user to accept the end-user
license agreement, which may cause some serious legality problems.
What You Need
Background
On Pocket PC platform, new applications are usually installed on the
device using CAB files. However, sometimes the facilities provided by
CAB files are not sufficient. AirSetup is a tool that can convert your
CAB to a GUI installation program (EXE) which can be run on the device to
carry out the installation process.
AirSetup Features
Compared to what CAB file technology has to offer AirSetup provides the following
additional features.
- Compression. All files of your application are stored in a compressed form, which
makes the installation package considerably smaller and easier to transfer.
- Readme. Readme information is displayed as the first step of the installation process.
You can show the user any information (in HTML format) before he/she installs your
program on Pocket PC.
- End-user license agreement (EULA). EULA can be included into the installation package. If
included EULA is displayed as the second step of the installation process. The user is
not able to proceed the installation of your application without accepting the terms of EULA.
- Installation to custom folder. Installation wizard allows the user to install your
application to any folder he/she wants. A folder is selected using the user-friendly tree
control. The user can also install the application to any storage card present on Pocket PC.
If installation to a custom folder is not required you can turn this feature off.
Using AirSetup
AirSetup is a command line tool which takes your installation CAB along with some
additional files (readme, EULA) and generates an EXE file that can be run on Pocket PC
to perform installation. The size of the resulting EXE is usually smaller than that of the
original CAB file.
Step 1 - Readme
Step 2 - EULA
Step 3 - default/custom target
Step 4 - choose a custom target folder
Using AirSetup
First of all you should create a CAB file. Then start AirSetup.exe from the command
prompt. Here is a usage example:
AirSetup -appname Minesweeper -cpu arm -cab Minesweeper.ARM.cab
-readme readme.htm -eula eula.txt -out Minesweeper_setup.exe
AirSetup will create a Minesweeper_setup.exe program for the ARM-based Pocket PC.
When executed, this program will guide the user through four wizard steps (readme, end-user license
agreement and 2-step custom folder selection) and then unpack and install your CAB file.
Note: AirSetup can be run only under Windows NT/2000/XP.
Reference
AirSetup is run using the following command line:
AirSetup -appname -cpu [arm|mips|sh3] -cab
-readme -out [-eula ]
[-installdir ] [-nocustomdir]
Command line parameters have the following meaning.
- -appname <appname>
-
This parameter specifies the name of the application the installation
is built for. This name will be used by the installation wizard whenever
the app name is required. When you want to add spaces in parameters
you need to use quotes (like -appname "My Application").
- -cpu [arm|mips|sh3]
-
This parameter specifies a platform the installation is built for. The installation
will not run on any platform other than specified by this parameter.
- -cab <filename>
-
Specifies a CAB file that will be installed on Pocket PC. It must be built
for the platform specified by -cpu parameter otherwise it will not be properly
installed on Pocket PC.
- -readme <filename>
-
Specifies a readme file for your application. The content of this file will be
displayed on the first step of the installation wizard. This file must be in
HTML format.
- -out <filename>
-
Specifies the name of the output EXE file generated by AirSetup.
- -eula <filename>
-
Specifies the End-user license agreement for your application. If specified, this
file is displayed on the second step of the installation wizard. This file must
be in plain text format.
- -installdir <dirname>
-
Specifies the name of the directory your application must be installed to.
If not specified, it is assumed to be the same as the app name specified by
-appname parameter.
- -nocustomdir
-
Use this key if you do not want to allow the user to install your
application to a folder other than hte default one (specified when the CAB file
was generated). The user is prompted for a custom folder on steps 3 and 4
of the installation wizard. If -nocustomdir is specified, these 2 steps
are omitted.
Sample
You can download a sample installation package generated by AirSetup here:
Spb Pong setup
Conclusion
If you think about distributing your application Over the Air you should think about
using tools like Spb AirSetup instead of distributing CAB files.
It will make your Pocket PC installations smaller or turn them into user-friendly
installation wizards with End-user license agreement and possibility to install
to storage cards.
Related resources:
-
http://www.pocketpcdn.com/sections/installation.html
Section: Installation
-
http://www.pocketpcdn.com/articles/ezsetup.html
Article: Using EzSetup for creating Pocket PC installations
-
http://www.pocketpcdn.com/articles/multicabinstall.html
Article: Installing multiple CAB files with the same setup application
-
http://www.pocketpcdn.com/articles/setupdll.html
QA: How can I add my custom function to installation/uninstallation?
-
http://www.pocketpcdn.com/articles/uninstall.html
QA: How to uninstall a Pocket PC application?
-
http://www.pocketpcdn.com/articles/creatingsetup.html
QA: How can I create setup.exe file that will automatically install necessart .cab file on Pocket PC?
-
http://www.pocketpcdn.com/articles/installcab.html
QA: How to install a cab file on Pocket PC?
- http://www.microsoft.com/mobile/developer/technicalarticles/installation.asp
Article: Successful Installation for Pocket PC Applications
- http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnce30/html/appinstall30.asp
Article: Creating an Application Installation Package with Microsoft Windows CE 3.0
- http://www.innovativedss.com/pdfs/installmaster.pdf
Article: Deploying Windows CE applications with Wise InstallMaster
- http://www.devbuzz.com/content/zinc_PPCInstall_pg1.asp
Article: deVBuzz speaks with Jeff Law of PPCInstall