In MIDlet pre-deployment, you pre-store a MIDlet installation package on a device or a memory card. When the user switches the Series 40 or Symbian device on for the first time, or when the user inserts the memory card into a Symbian device for the first time, the MIDlet is installed automatically. The device performs the installation silently without any user interaction. If a problem occurs during the installation, the device shows no error messages to the user and silently fails the installation. Once installed, the user can access and run the MIDlet in the same way as any other MIDlet. The user can configure, back up, restore, and uninstall the MIDlet normally. On Symbian devices, the user can also update the MIDlet normally.
In order to locally pre-deploy a MIDlet to a device, you must have access to the device software before it is installed on the device or before the device is switched on for the first time.
The following sections cover MIDlet pre-deployment from Series 40 3rd Edition and S60 3rd Edition FP2 onwards.
You can pre-deploy a MIDlet to a Series 40 device by storing its installation package in one of the following folders on the device:
c:\predefmenuapps
c:\predefjava\predefcollections
c:\predefjava\predefgames
If you store the MIDlet in the predefmenuapps
folder, you must additionally create a predefined shortcut for the
MIDlet in the Applications menu, so that the user can access
and run the MIDlet after it has been installed. If you store the MIDlet
in the predefcollections
or predefgames
folder, the MIDlet is automatically shown in the Collections or Games menu, and you do not need to separately create a
shortcut for the MIDlet.
Note: If you store the MIDlet in the predefmenuapps
folder, the user cannot configure, back up,
restore, or uninstall the MIDlet, since predefmenuapps
is a hidden folder.
The MIDlet can be signed or unsigned, and its "hidden" file attribute must not be set.
On Series 40 devices, a pre-deployed MIDlet can only be updated through OTA installation.
Series 40 devices do not support automatically installing MIDlets from memory cards.
You can pre-deploy a MIDlet to a Symbian device by storing its installation package in a specific pre-installation folder on the device or a memory card.
The MIDlet must meet the following requirements:
The MIDlet must be digitally signed according to the MSA standard for MIDP signing. In practice, this means that the origin of the MIDlet must be verifiable.
The MIDlet JAD and JAR files must be stored in the same pre-installation folder. The JAD file is crucial, since it contains the MIDlet signature.
The MIDlet JAD and JAR files must have identical names.
The MIDlet installation package must be stored in the following folder on the device or the memory card:
On Symbian devices with Java Runtime 2.1 for Symbian or newer:
<drive>\resources\java\preinstall
On S60 3rd Edition FP2 devices and S60 5th Edition devices with Java Runtime 1.x for S60:
<drive>\system\data\midp2\preinstall
In case of Symbian devices with Java Runtime 2.1 for Symbian or newer, the device does not copy the MIDlet JAD and JAR files anywhere from the pre-installation folder. The device simply registers the required application data to its databases.
In case of S60 3rd Edition FP2 devices and S60 5th Edition devices with Java Runtime 1.x for S60, the device copies the MIDlet JAD and JAR files to the target drive. By default, the device installs the MIDlet onto a memory card if available. If a memory card is not available, the device installs the MIDlet locally in the user area of the device file system.
Note: The default installation destination can vary between devices. For example, some devices do not have a removable media slot.
When a pre-deployed MIDlet is uninstalled, the MIDlet (or a MIDlet with the same name and vendor ID) cannot be pre-deployed again to the same device. However, you can still package and sign the MIDlet with a new name and then pre-deploy it to the same device.