Creating an Installation Application

The Microsoft® Windows® CE Platform Software Development Kit (SDK) for Auto PCs includes an application called CEIBuild that allows you to produce a CEI file that installs your application to an Auto PC. Along with the CEIBuild the Auto PC SDK contains the necessary include (.h) files necessary to create custom setup DLLs.

Note Using CEIBuild to create application installations is highly recommended, because using CEIBuild ensures the proper installation and uninstallation of an application. In addition, the CEI file must contain all files, components, directories and registry entries that the application uses. If the Auto PC RAM is initialized by a process, an Auto PC attempts to reinstall the application from information contained in backup CEI files. This reinstallation process uses information in the original CEI file to recover files, data, and registry settings, potentially long after the user originally installed the application. An Auto PC recursively saves registry keys under HKEY_CURRENT_USER and directories under My Documents if you created those keys and directories in the CEI file and flagged the keys and directories as containing dynamic data. If you create files, directories, or registry keys in other parts of Auto PC directory and registry key structure and do not reference those files and directories in the CEI file, you will lose those files and directories during operating system recovery or upgrade.

You can use CEIBuild to add files and directories to the Auto PC object store. To facilitate repeated cycles of testing and fixing applications, CEIBuild maintains a link to the original file to allow updating rather than recreating CEI files when the source files change. You define how the installation process handles files when an existing file is detected during installation onto the Auto PC by using one of the following options:

The Auto PC installation system supports registering COM objects during installation. When you add a DLL that has the DllRegisterServer and DllUnregisterServer entry points, CEIBuild automatically flags the component for self-registration. You can also designate EXE files as self registering. The Auto PC Load program, which reads and executes the data stored in the CEI file generated by CEIBuild, calls the registration entry point or starts the executable program with the /REGSVR registration switch. The Auto PC Load program calls or starts the DLL or .EXE file to allow the update of registration information when the application is removed.

Creating a Shortcut

You can use CEIBuild to specify that a shell shortcut for your application be created during installation. This option is only be available to valid EXE files that meet the following criteria:

Note The shell icon must be the resource identifier ICON_APP_SHELL, and must contain 32x32 16-color and mono images. When you create your application’s icon, the 16-color image must be created first.

Updating an Application Version Number

The version information used for installation is the image version defined in the PE file header. CEIBuild ensures that all binaries have a version number in them. In the CEIBuild setup options, you can include a master version number for the entire CEI file. All application components that do not have an image version—those with image version equal to 0.0—are updated to have the master version number when you add those components to the CEI file.

For those modules that you are shipping in multiple products or that you have not changed from previous products, you can set the version number before including the module in a CEI file. Use the /VERSION:major[.minor] switch of the LINK command to set the version number. The major and minor elements of the switch are decimal values between 0 and 65535.

Multiple Use Counting

If the Auto PC Load program attempts to install a file or directory over an existing file or directory, that file or directory is reference counted automatically. During an uninstall, the Auto PC Load program checks for counted files and updates the reference count appropriately.

Speech Templates

CEI Builder allows you to specify a speaker independent template file for installation. The file is installed into the speech engine of the Auto PC during setup and removed during uninstall. The speech engine keeps reference counts for these templates.

Speech Phrases

CEI Builder allows you to specify a text phrase for which there is no speaker independent template. The user trains the phrase during installation and can retrain it later by using the Auto PC control panels in Setup.

Saving Dynamic Data and Registry Information

CEIBuild can create directories and registry keys on the target platform for use by your application. You can mark these directories and registry keys as a destination for the dynamic data in your application. All directories and data contained in marked directories and all registry keys and registry values contained under marked registry keys are saved during upgrade and operating system (OS) updates. These marked directories, data, registry keys, and registry values are removed during uninstallation of your application. If you do no mark these directories and registry keys for saving, all data in these locations is lost during OS upgrades.

Note If your application creates any directories and registry keys that you do not reference in the CEI file, you will lose those files and directories during upgrades. Also, those files and registry keys are not deleted during uninstallation and remain on the operating system.

To mark a directory for saving, choose Application will save dynamic data in this directory/registry key when you create the directory or registry key.

Your application must use marked directories for all user data that you want to save during upgrades or remove during uninstallation. Your application can create directories, files, and registry keys under any parent directories and registry keys marked for saving.