Packaging and Installation Options There are several potential options for the delivery and installation of your application. Which mechanism is best is based on the complexity of your application, its component dependencies, and the way end users will use your mobile application.Copy and Run / Download and Run If your application has no dependencies that need to come with it, the simple "copy and run" installation is the easiest approach to take. As the name implies, installation simply consists of copying the application locally, and thereafter the application can be run.Missing in this approach is device-local registration of the application. If the application needs to be registered with the mobile device so that it can appear as navigation option for users of the mobile device, additional setup code will be required.Device-Driven Install A device-driven install is very similar to installing a desktop application on a PC. A special-purpose application is run to install the application locally onto the mobile device. The setup application itself may need to be signed if the device requires applications to be signed. The user typically downloads and runs the setup, possibly by finding it via an Internet browser. Third-party setup tools can help you with this.A device local installer typically has the flexibility to install needed components, copy needed files, and perform needed pre- and post-installation steps.Desktop-Driven Install A desktop-driven install is usually a device-installation program that is initiated from a desktop computer. This model is most common when a partnership exists between a desktop PC and a mobile device that it synchronizes with. The desktop application can run a setup application that communicates with a mobile device and installs the necessary software.Desktop-based installations have two principal benefits: (1) Computer users are used to running setup applications on their computers, and (2) desktop computers that synchronize with mobile devices can use this synchronization process to push updated applications and data to devices.As above, third-party setup tools can help build desktop-driven installs.Install via Memory Card A memory-card-based install is a device installation that is initiated by the insertion of a storage card into a device. This kind of installation is very similar to a desktop computer's CD-ROM autorun installation where a setup process is initiated by the insertion of a CD-ROM or DVD into the computer. This kind of installation works by having a specially named file present at a predefined location in the storage medium that the device's operating system looks for when the storage card is inserted.Memory-card-based installation can be an excellent choice if a memory card is going to be used to store application data anyway. For example, a mobile application that uses a 200MB database of information on a storage card that is plugged into a device is a natural choice for memory-card-based application installation. A 4MB install for the application, its runtime, and other needed components can easily piggyback on top of the 200MB of data being brought to the device via the storage card anyway.Once again, a third-party setup tool can be an aid in building this kind of an install.Developer ToolBased Installation If your mobile device application only needs to be deployed to a small number of devices (for instance, 20 devices), a viable option may be just to let the development tool handle it for you. Development tools often have excellent facilities for downloading applications and needed components and can spare you the need to build and debug your own installation scripts.The downside of this approach is that it really does not scale. It will not work for deploying applications to restricted-access devices nor will it scale to anything but a small number of devices. If there is a good chance your mobile application will need to be deployed to a larger number of devices in the future, you need to think about an installation mechanism that does not require developer tool participation. If you are building a custom-use application intended only to be used on a small number of devices, however, this solution may meet your needs.ROM-Based Installation An option sometimes available when building a mobile application for custom hardware or when working closely with the issuer of mobile devices is placing the mobile application into the device's ROM image. Customized mobile devices are often provisioned with a set of built-in applications. |