Startup Applications on Symbol terminals

There are two ways to cause an application to run during the Symbol startup of the terminal, either using the Symbol Startup Program Registry Keys or as a Startup Application in the Symbol Startup Folder. You should pick only ONE of these choices.

Symbol Startup Program Registry Keys

Symbol has created a set of registry keys that can be used to create a controlled launch of programs during the boot sequence. By setting these parameters, and using the Microsoft wceload command, it is easy to orchestrate the applications that are run during startup.

HKEY_CURRENT_USERSoftwareSymbolStartupProgramsProgN

Where ProgN can be set to any value between 1 and 20. However, be careful since some of the values are reserved for Symbol applications, and may be used by other applications.

Reserved Values:

  • Prog4 Symbol .NET Class Libraries
  • Prog5 Symbol AirBeam Abboot.exe
  • Prog7 Symbol AirBeam Abstart.exe
  • Prog10 Symbol Printer Drivers

Another nice part of the Symbol Registry is the options that can be set for each of the programs. This allows you to have real control over applicationstartup.

Registry Options:

  • Name Application file name with full path spec (string)
  • Command Application command line parameters (string)
  • Continue Block or not block, 1 = do not wait for program to finish
  • ColdBootOnly Run on cold boot, 1 = run on cold only (dword)

While these commands can be used for launching any program, they can also be easily used to install CAB files as well with the Microsoft application. By using Microsoft’s wceload utility you can easily install CAB files from the command line with several helpful options. See the wceload page for details on the command line option.

An Example:

;****************************************************
;
; SVTP CE
;
;****************************************************

; Load .NET CF 2
[HKEY_CURRENT_USERSoftwareSymbolStartupProgramsProg11]
“Name”=”windowswceload”
“Command”=”/delete 1 /noaskdest /noui windowsNETCF2.CAB”
“Continue”=dword:0
“ColdBootOnly”=dword:1

; Load SVTPCE
[HKEY_CURRENT_USERSoftwareSymbolStartupProgramsProg12]
“Name”=”windowswceload”
“Command”=”/delete 1 /noaskdest /noui windowsSVTPCE.CAB”
“Continue”=dword:0
“ColdBootOnly”=dword:1

; Run SVTPCE – Example, uncomment to use.
; Per Symbol the “preferred” method is to use the ApplicationStartup
; directory, but you can’t control the order
[HKEY_CURRENT_USERSoftwareSymbolStartupProgramsProg13]
“Name”=”Program FilesSVTPCE_FDXSVTPCE”
“Command”=””
“Continue”=dword:1
“ColdBootOnly”=dword:0

Symbol Startup Folder

The other main choice is using the Symbol Startup Folder. In this method, you simply create a “.run” file which provides the options for running an application, and installing the file in the “ApplicationStartup” directory. Symbol says this is the preferred method.

A “.run” is a text file with two lines. The first line is the complete name of the executable file (with full path information), and the second line is an optional command line argument to be passed to that executable file. For instance, if the run file contains the command:

Program FilesSVTPCESVTPCE.exe

It will launch the SVTPCE application. However since the execution order is unspecified, if the program needs to be installed first, you will either need to load the CAB files with Registry parameters, or create an application to load the CAB files and run the application.

Pros and Cons of These Methods

Each of these methods for controlling application startup have their pros and cons, and this must be carefully considered when setting up a configuration.

Registry Method: The key advantage of the Registry Startup method is the absolute control that can be had with the startup of the applications. This allows specifying if the applications only runs at cold boot, whether the application is run synchronously or asynchronously, and the exact sequence of the programs. All of which provide a huge amount of control for the user.

Despite all of these advantages, there is also a downside to the Registry Startup method. Since there are a small set of registry values allocated these must be managed very carefully. This is fine if you are integrating a custom system, but can be very dangerous with a product that must be able to interoperate with other programs.

Application Startup Method: This option provides the simplest method for starting applications, but what you gain in simplicity, you lose in control. Unlike the Registry method there are no guarantees on the sequence of the applications that are launched. Likewise, you aren’t able to control how and when the applications are launched. Any such control must be provided in a custom program for your application.

Although you lose control in the launch sequence, it is the simplest method for applications that don’t require special treatment. Also, it is the best method for products that must be able to launch in any environment.

Other references:

3 thoughts on “Startup Applications on Symbol terminals

  1. Pingback: Startup Applications on Symbol terminals « Mobile Musings

Leave a Reply

Your email address will not be published. Required fields are marked *