how to build an addon on T5520 (971 Views)
Occasional Visitor
Posts: 1
Registered: ‎04-05-2007
Message 1 of 2 (971 Views)

how to build an addon on T5520

We like to port our software to HP compaq T5520.
Does HP provide service to build addon for the WinCE 5 device(T5520)? My software includes a USB driver and a citrix/terminal service module. Please provide us more infomation.
Honored Contributor
Posts: 711
Registered: ‎08-05-2003
Message 2 of 2 (971 Views)

Re: how to build an addon on T5520

How to Install Custom Software for the HP CE-based thin clients


The HP CE-based thin clients typically have all the software necessary for most customers. However, some customers need to install a custom made driver or application to run on the thin clients. Special CAB treatments are necessary to install properly on the HP devices.


It is assumed the reader has a working understanding of how to create CAB files for Microsoft's Windows CE operating system. Searching for 'cabwiz' on the Internet should point to several Microsoft documents on the tool and process.

The WinCE CAB Manager from is a proven CAB creator/editor tool.

CAB Data Types

There are basically two types of data that accompany any s/w driver or application install: Registry and Binaries (EXE, DLL, INI, etc.). The following section highlights special data handling instructions for the HP thin clients.


Installing a CAB typically involves the addition of registry keys into the OS. These keys first added to RAM memory, and at some time later are committed to persistent storage (i.e. flash memory). The registry database that is stored in flash is called the hive-based registry.

Registry - Reset to Factory Default

The HP thin clients have the ability to "Reset to Factory Defaults". This essentially deletes the hive-based registry and forces the unit to reconstruct the entire registry back to OS image default. Although the custom Binaries are still intact, the factory installed OS image has no knowledge of the custom Registry data. This can lead to orphaned binaries files.

The HP thin clients have a special file system folder called Defaults ('\hard disk\defaults') to handle this scenario. When the OS determines during boot that the hive-based registry has been deleted, it will look in the Defaults folder to help determine any registry data it should add to the reconstruction. The Defaults directory simply contains a collection of registry text files (*.reg).

Therefore, in your CAB, be sure to include a *.reg file that gets copied to the Defaults folder (i.e. '\hard disk\defaults'). The *.reg file should be a duplicate of the registry settings added to the CAB.


Binaries are usually executables such as *.exe and *.dll's.

Binaries - Where should they be installed?

Most binaries should be installed in "\Hard Disk\Program Files".

Binaries usually execute out of Program Files directory, but there are some that must execute out of the \Windows directory. But because the \Windows directory is mounted on the RAM files system, the binary will be lost upon reboot. The HP thin clients have another special folder called Ramroot. Ramroot is located under '\hard disk\ramroot' and is simply a directory structure that mirrors the hierarchy of the RAM file system. Files stored under Ramroot will be copied to the RAM file system on every reboot. For example, an *.exe under '\hard disk\ramroot\windows' will be copied to \windows during the early boot process. For those binaries that require installing in the \Windows directory, it's best practice to have the CAB install the binary in both the \Windows directory and the Ramroot\Windows. A well behaved application should not assume it's being loaded out of \Windows.


The Setup.DLL is a special *.dll that can executes when a CAB is installed but never is installed on the system.

Without a Setup.DLL, the software installed by the CAB cannot be removed via the View or Remove Programs control panel applet. The reason for this is because each CAB install creates a *.unload script file that is copied to the \Windows directory. The *.unload script file is generated on the fly during the install and is used by the View or Remove Programs control panel applet. Because the \Windows directory is stored in RAM, any *.unload files are gone after a reboot.

Although not required for the application or driver to execute properly, if you'd like to have the ability to uninstall, then the following code logic is necessary in the Setup.DLL.

* During the Install_Exit() callback function of Setup.DLL, copy the *.unload file to the '\hard disk\Ramroot\Windows' directory.
* During the Uninstall_Exit() callback function of Setup.DLL, delete the associated *.unload file from the '\hard disk\Ramroot\Windows' directory.

Processor Type

The HP thin clients are based on the x86 cpu chipset. The CAB should be created using the 'i486' cpu architecture.

The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the Terms of Use and Rules of Participation.