How to add the CAB installation functionality (wceload.exe) to Windows CE devices missing the installer functions

CESD-S-0131

Applies To:

  • CE 5.0, 6.0, 6.0 R1, 6.0 R2, 6.0 R3

Contents:

Many Windows CE devices OS images are configured based upon the Microsoft "MINKERN" or "MINALL" configuration profiles which strips much of the content from the default GUI enabled version of Windows CE out of the image (so called "MAXALL" configurations). MIN configurations are common on devices such as set-top boxes, digital picture frames, and satellite navigation units (for example most popular PNA units).

They all run the manufacturers application in full screen mode, to hide the underlying Windows GUI. Therefore, these units have been stripped down to include only, what's necessary, to run this one, specific program. In order to genericise the device and restore missing functionality, it is often necessary or even required to be able to deflate and install software using the CAB installer format. This is wrapped into the Windows CE installer executable, WCELOAD.EXE, which is necessary for installing programs from .cab files.

This article covers the fairly easy process of restoring this functionality.


More Information:

There are two steps to ad WCELOAD.EXE, copy the files and restore its configuration settings

You need to use the correct version of WCELOAD.EXE designed to support your devices OS version and CPU type, for example Windows CE 5.0 MIPS or Windows CE 6.0 R3 XScale.

These are the basic steps:

  1. Obtain the correct version of WCELOAD.EXE
  2. If your device has persistent storage (the contents of \Windows and the registry are not cleared after a warm reset) you can copy the file into \Windows. In many cases you will not be able to do this as the contents of the \Windows folder are shadowed back from ROM/Read-only PSA at boot. If your device operates in this way, you will need to copy the file to a persistent location, and not the \Windows folder. This could be a writable PSA, CF card or SD Card.
  3. Add these registry entries making the necessary path substitutions to the location where you stored WCELOAD.EXE:

    [HKEY_CLASSES_ROOT\.cab]
    @="cabfile"

    [HKEY_CLASSES_ROOT\cabfile]
    "EditFlags"=hex: 00,00,01,00
    @="CAB File"

    [HKEY_CLASSES_ROOT\cabfile\DefaultIcon]
    @="\(Path to file without brackets)\wceload.exe,-101"

    [HKEY_CLASSES_ROOT\cabfile\Shell]

    [HKEY_CLASSES_ROOT\cabfile\Shell\Open]

    [HKEY_CLASSES_ROOT\cabfile\Shell\Open\Command]
    @="\(Path to file without brackets)\wceload.exe "%1""
  4. Warm boot. Now you should be able to install .cab files perfectly fine!

Acknowledgements

With thanks to Forums member SwizzleDude for writing the article.