Академический Документы
Профессиональный Документы
Культура Документы
Version 1.8
Copyrights
The product described in this document may include copyrighted computer programs.
Laws in the United States and other countries preserve for certain exclusive rights for
copyrighted computer programs. Accordingly, any copyrighted computer programs
contained in the product described in this document may not be copied or reproduced
in any manner without the express written permission.
Trademarks
Zebra and the Zebra head graphic are registered trademarks of ZIH Corp. The Symbol
logo is a registered trademark of Symbol Technologies LLC, a Zebra Technologies
company.
Contents
Table of Contents
1 Overview............................................................. 1
1.1 Introduction ............................................................... 1
1.2 Terminology................................................................ 1
5 Splash Screen.................................................... 19
5.1 Splash Screen Components .................................. 19
Custom Image .................................................................... 20
StartUpCtl Banner ............................................................... 21
6 Appendix .......................................................... 23
6.1 Sample StartUpCtlLog.txt File ................................ 23
6.2 Avoiding Syntax Errors in Scripts ............................ 23
6.3 Installation of .cab files using Wceload ............... 24
1 Overview
1.1 Introduction
StartUpCtl is an extension to the Startup process found on Symbol enterprise
mobility devices. The Startup process controls the execution of certain file types
when a mobile device is reset, enabling applications to be installed and/or run
automatically.
Figure 1
During the startup process, StartUpCtl launches any files that it finds in the
\Application\Startup folder (See Figure 1), StartUpCtl goes further by allowing
user to control the order that files are executed on a reboot of the mobile device.
1.2 Terminology
To try and avoid confusion, throughout this document, a clean boot on a
Windows Mobile 5.0 and higher device and a cold boot on a Windows CE device
is referred to as “Restore”. A warm boot is referred to as “Reset”.
2 General Information
2.1 Installation
Automatic Installation
To install StartUpCtl on a mobile device follow the steps given below.
Manual Installation
StarUpCtl installation in the PC side provides a separate folder with contents
required to install StartUpctl in devices manually. This option is used to deploy
StartUpCtl by copying these files to device \Application folder. This is useful to
deploy StartUpCtl to multiple devices with a defined configuration.
Note: File copying can be done by using manual file copying via
ActiveSync, Deployment servers such as MSP server etc.
NOTE: Please note that the above Remove option only removes the
temporarily stored CAB file from the host PC and does not remove
the StartUpCtl program group which includes Setup folder,
Readme, User Guide etc. It does however; remove all settings
related to StartUpCtl from the mobile device.
Manual Uninstalling
The manual uninstallation method must be followed if StartUpCtl installation was
done using the manual installation method.
[HKEY_LOCAL_MACHINE\.startupctl]
2.3 StartUpCtlConfig.txt
StartUpCtlConfig.txt is copied to the \Application\StartUpCtl\ folder of the
mobile device during the StartUpCtl installation. This file defines the general
configuration information for StartUpCtl (described later in this guide) that cannot
be specified in script files. On each invocation of StartUpCtl, StartUpCtl reads this
file and re-configures itself.
To use this feature, create a folder titled “StartUpCtl” in the storage card. On the
host PC, go to Start – Programs –StartUpCtl – Setup to open the Setup folder and
open the Application folder within. Open the StartUpCtl folder located within the
Application folder and copy the OnReset and OnRestore folders into the
StartUpCtl folder inside the storage card.
StartUpCtl checks for any storage cards (See Process Flows). If the \StartUpCtl
folder is found on any storage cards, StartUpCtl processes each folder found.
Debugging
StartUpCtl has a debug mode that can be enabled/disabled manually. To
activate the debug mode, set the “Debug” parameter to “True” in the
StartUpCtlConfig.txt file.
Syntax
[Application_Properties]
Debug=True
This setting enables the debug mode in StartUpCtl. While in the debug mode,
StartUpCtl identifies any syntax errors in StartUpCtl specific commands.
While in debug mode, StartUpCtl validates each script file and processes it. If
there are no script files within the OnRestore and OnReset folders, StartUpCtl
processes the contents of these folders and logs the actions in the
StartUpCtlLog.txt file. In debug mode no file or executable is executed and only a
simulation takes place.
Note: The debug mode checks for syntax errors only in StartUpCtl
specific commands. Any other commands and their parameters
cannot be validated by the debug mechanism.
[LogFile_Properties]
LogFileTempFolder=
LogFileFolder=\Application\StartUpCtl
MaxLogFileSize=
The LogFileTempFolder property defines the temporary storage location for the
log file. This location is used by StartUpCtl while generating the log file. This feature
is especially useful on Windows Mobile 5.0 based mobile devices which show
performance issues while accessing the slow flash file system. In such cases opt to
use the Cache Disk to store the temporary log file.
After completing the startup process, the log file is permanently stored in the
location specified in the LogFileFolder parameter.
At the start of an OnRestore operation, StartUpCtl renames the previous log file to
“StartUpCtlLog_Bak.txt” and creates a new file with the default name
“StartUpCtlLog.txt”.
At the start of an OnReset operation, StartUpCtl appends the existing log file with
the new data. If the log file size exceeds the specified size, then the log file will be
renamed to “StartUpCtlLog_Bak.txt” and a new "StartUpCtlLog.txt" file will be
created to enter the new log data. This maximum file size is specified in the
MaxLogFileSize parameter in bytes. The minimum allowed size for the log file is 1KB
and the maximum is 1000KB.
1. \Application\StartUpCtl
2. \Application
3. \[root]
OnRestore.txt File
The OnRestore.txt is a script file that specifies the launch sequence after a Restore
operation.
OnReset.txt File
Similar to the OnRestore.txt file, the OnReset.txt file is a script file that specifies the
launch sequence after a reset operation. StartUpCtl processes this file and carries
out the procedures defined in it.
After processing the OnReset.txt file, StartUpCtl checks for sub-script files in the
OnReset folder which follow the “OnReset_X” format (See Sub-script File
Processing) and these sub-script files are then processed.
OnRestore_X.txt
OnReset_X.txt
The sub-script files must be stored in the same folder as the OnRestore.txt and
OnReset.txt files i.e. the OnRestore_X.txt must be stored in the OnRestore folder
and OnReset_X.txt must be stored in the OnReset folder.
3 Process Flows
StartUpCtl modifies its behavior according to the device status. i.e. the process
flow after a reset differs from the process flow after a restore.
3.1 OnRestore
Below is a description of the actions performed upon Restore.
3.2 OnReset
Below is a description of the actions performed upon Reset.
In summary, a Restore launches applications first from the OnRestore folder, and
then from the OnReset folder. A Reset only launches applications from the
OnReset folder.
4 StartUpCtl Commands
The order in which applications are installed and launched can be controlled
through the OnRestore.txt and OnReset.txt files. Within these files, StartUpCtl
supports the launching of files as well as some special purpose commands to
control the launch process.
Example
The StartUpCtlLog.txt file, which logs the process flow of StartUpCtl, can be
examined to find the commands which were skipped due to syntax errors or
runtime errors.
4.2 Delay
Syntax
Delay [seconds]
The Delay command causes StartUpCtl to do nothing for the specified number of
seconds. If no parameter is provided the command is ignored.
Example
“Delay 10” stops StartUpCtl from launching any other files for ten seconds.
4.3 Reset
Syntax
Reset
The Reset command causes StartUpCtl to perform a Reset. This command is only
recognized within the OnRestore script/sub-script files. The Reset command is the
last command executed by StartUpCtl. Even if this command is detected in the
beginning or middle of the OnRestore script, StartUpCtl does not execute reset
the mobile device until the other operations in the OnRestore script are
completed.
4.4 Wait
Syntax
The Wait command causes StartUpCtl to wait until the last file that was launched
has finished and terminated.
The Wait command optionally takes two parameters, a timeout value in seconds
and an action to perform if the timeout is reached.
If “/q” is provided as the action parameter then StartUpCtl waits the specified
number of seconds then exits without doing any further processing if the program
launched has not terminated during the given timeout.
With “/c” specified as the action parameter, StartUpCtl waits the specified
number of seconds and if the launched program has not terminated within the
given duration StartUpCtl continues with the other commands in the file.
By default if no parameters are provided, the Wait command waits for 300
seconds for the last file launched to complete and quits without continuing with
the rest of the commands if this timeout is reached.
4.5 Regmerge
Syntax
RegMerge is a built-in driver that allows entries found in .reg files to be stored in
the Windows CE registry. RegMerge can be used from within the OnRestore and
OnReset script files to apply .reg files to the Windows CE registry.
The “/q” or “/Q” parameter specifies quiet mode. This causes RegMerge not to
prompt user before merging a file.
4.6 CopyFile
Syntax
copyfile \Application\XXXX\Test1.cpy
CopyFile is a built-in driver that is used to copy files from one location to another
as defined in .cpy files. CopyFile can be used from within the OnRestore and
OnReset script files to copy files from one location to another.
Note: The behavior of the Regmerge and Copyfile drivers (which come
with the StartUpCtl installation package and are up-to-date) can
be slightly different to the Regmerge.exe and Copyfiles.exe
(found in \Windows folder) especially in cases of older operating
systems.
4.7 Copy
This command copies files from one location to another. The behavior of this
command is similar to the COPY command in MS-DOS, without the additional
switch support that is available in DOS.
Syntax
<dest> is the absolute path of the new location which the file is copied to.
Example 1
Example 2
4.8 Rename
This command renames a file to a user specified name. The behavior of this
command is similar to the RENAME command in MS-DOS. A new path for the
destination file cannot be specified.
Syntax
<src> is the absolute path and file name of the file to be renamed.
Example 1
Example 2
4.9 Move
Moves a file/s to a specified location. The behavior of this command is similar to
the MOVE command in MS-DOS without the additional switch support that is
available in DOS. If a file with the same name is present in the destination folder it
is overwritten with the new file without any prompting.
Note: The file move operation will fail on Windows Mobile devices, if
the destination folder does not exist.
Syntax
Example 1
Example 2
4.10 Delete
This command deletes a specified file from the mobile device. The behavior of
this command is similar to that of MS-DOS command DEL.
Syntax
Delete <name>
Example 1
4.11 Mkdir
This command creates a new folder. The behavior of this command is similar to
the MKDIR command in MS-DOS.
Syntax
Mkdir <folder>
Example 1
Example 2
Mkdir \Application\Temp_1\Temp_2
4.12 Comments
Comments can be added to the OnRestore and OnReset script files. Any line
beginning with the hash (“#”) or semi-colon (“;”) is taken as a comment and is
ignored during processing.
Syntax
Example 1
# This is a comment.
Example 2
4.13 SplashOn
Use the SplashOn command in OnRestore and OnReset script files to display the
splash screen on the mobile device. When this command is invoked, StartUpCtl
displays the splash screen in the foreground. This command does not affect the
start-up process which continues in the background while the splash screen is
displayed. Optionally, a time period (in seconds) for which the splash screen is
displayed can be defined.
Syntax
SplashOn [Timeout]
Example
SplashOn 10
The above example specifies that the splash screen should be displayed for 10
seconds. After the timeout, the splash screen is removed from the display area.
However if processing of StartUpCtl script commands are completed before 10
seconds, then it will destroy the Splash screen and exit.
Note: If a timeout is not specified for the SplashOn command, then the
default timeout of “0” is used. When the timeout is “0”, StartUpCtl
displays splash screen indefinitely until all StartUpCtl processes
are complete or until the SplashOff command is executed.
4.14 SplashOff
The SplashOff command is used in OnRestore and OnReset script files to force
StartUpCtl to remove the splash screen from the mobile device screen. When this
command is executed, StartUpCtl ignores the timeout period set in the SplashOn
command and removes the splash screen.
Syntax
SplashOff
4.15 IdleTimerReset
The IdleTimerReset command tells StartUpCtl to periodically call the Windows
SystemIdleTimerReset function to prevent the device from going into a
suspended state.
Syntax
The /a|A parameter activates the IdleTimerReset feature. This is the default
action when the IdleTimerReset command is called without any parameters.
The /z|Z parameter de-activates the IdleTimerReset feature, allowing the device
to enter a suspended state as it would have before the IdleTimerReset command
was called. The IdleTimerReset feature will also be de-activated when StartUpCtl
exits.
The [period] is an integer value greater than zero representing the interval in
seconds at which the Windows SystemIdleTimerReset function should be called.
If the [period] parameter is not specified, StartUpCtl will use the following
procedure to calculate a suitable value.
StartUpCtl will try to read the two registry values ‘ACSuspendTimeout’ and
‘BattSuspendTimeout’ in the following registry location…
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power\Timeouts].
If either or both of values are read successfully then the lowest of the two will be
used to calculate the period. Zero values are considered to represent 300
seconds.
If this lower value is greater than fifteen seconds, a further five seconds are
subtracted to arrive at the final value that will be used for the period. If the lower
value is 15 seconds or less, one second is subtracted to arrive at the final value
that will be used for the period.
If the [period] parameter is not given and the registry values above could not be
read, StartUpCtl will use a default value of fifteen seconds as the interval for
calling the SystemIdleTimerReset function.
Example:
5 Splash Screen
StartUpCtl can display a splash screen on the mobile device to hide the
OnRestore/OnReset processing from the user. The splash screen can be displayed
and controlled at anytime during the start up process through the use of the
SplashOn and SplashOff commands.
Custom Image
Area
Custom Image
The image displayed in the custom image area (upper portion of the splash
screen) can be customized by editing the StartUpCtlConfig.txt file. The custom
image must be a bitmap file (.bmp extension). The custom image is specified in
the StartUpCtlConfig.txt file as follows;
Syntax
[Splash_Properties]
ImagePath=\Application\StartUpCtl\StartUpCtlImg.bmp
The bitmap image is placed in the center of the custom image area. If the image
is larger than the custom image area, it appears clipped to fit. If the image is
smaller than the custom image area, the background color is shown around the
image.
Splash screen
display on a
small screen
Splash screen
display on a
large screen
StartUpCtl Banner
The bottom part of the splash screen is reserved for the banner. The banner area
has a fixed height of 70 pixels. This area is used for displaying StartUpCtl feedback
information to the user.
The left of the banner is designated for displaying feedback information. This
feedback information differs according to the booting process. ‘Initializing…
Please wait...’ is displayed during a restore process (see Terminology), whilst
‘Starting up… Please wait’ is displayed a reset operation (see Terminology). The
right side of the banner area displays the StartUpCtl product name, version and
copyright information.
Unlike the custom image area, the banner area contents dynamically change
according to the physical size and orientation of the mobile device.
6 Appendix
Syntax
\Windows\wceload.exe “\Application\DataWedge.cab”
For example, the following script command silently installs the DataWedge.cab
file without prompting the user for any input:
Syntax
The /delete parameter specifies how Wceload removes the .cab file after
installation. /delete 0 does not remove the .cab file after the contents are
installed.
The Wceload parameters vary across the different operating system versions. The
following table lists some of the differences for frequently used options.
WM 5.0 WinCE
WinC
Parameter and 6.0 and Comment
E 5.0
above above
Specifies whether user input is
needed/dropped during
/noui installation. By default,
prompts are answered with
‘Yes’.
Does not remove the .cab file
/delete 0 after the contents are
installed.
Removes the .cab file after
/delete 1 the contents are installed.
This is the default.
Specifies that the user is not
/noaskdest prompted for the installation
folder.
Note: If the necessary permissions to install a CAB file are not set, the
silent installation process fails, because it is not able to prompt
the user for authorization.