This documentation is archived and is not being maintained.

Packaging Device Solutions Overview

Visual Studio 2008

To distribute your device applications to end users, you must package your device application into a CAB file.

A CAB file is a library of compressed files that is stored as a single file. A CAB file for device projects contains all device application files and an installation script that specifies where to install the files and which shortcuts and registry settings to apply. You can also include a custom, native DLL to perform custom install steps. For example you might want to check for a version number of Windows CE or the .NET Compact Framework or determine whether other components are present.

End-users install your device application by copying the CAB file to the device and starting it from the device's file explorer. This is called exploding the CAB. Internally, the CAB file is exploded by WCELOAD.exe, an executable file that is present on all Windows CE and Windows Mobile devices.


Visual Studio provides tools for packaging your CAB file. It does not provide any tools for deploying the CAB file to a target device. For simple scenarios, you can drag a CAB file from your desktop computer to your device by using a Windows Mobile Device Center (WMDC) or ActiveSync connection. Several third-party deployment solutions are available for more complex scenarios. For more information, see Delivering Applications.

Visual Studio makes it possible, in most cases, to perform all the necessary packaging work directly in the integrated development environment (IDE). To create a CAB file, add a Smart Device Cab project to your existing solution. Then, add the files, shortcuts, and registry entries to it by using the same user interface as with desktop setup projects. When you build the setup project, you create the CAB file.

There are some differences between the CAB files you create for a Pocket PC application and those you create for a Smartphone application. Pocket PCs based on Windows Mobile 2003SE and earlier do not support compressed CAB files or signed CAB files. Smartphone CAB files must be compressed and both the EXE or DLL file, and the CAB file itself, must be digitally signed before they can be installed on the device.

After you have created the CAB file by using Visual Studio, the next step is to transfer it to the end-user's device. You can use any typical means for transferring files. For example, you can use a desktop installer, manual copy from desktop to a connected device by using Windows Explorer, use over the air (OTA) transfer, and so on. For more information, see Delivering Applications.

Finally, if end-users have WMDC or ActiveSync installed, you can package your device application CAB file into a desktop installer. In this scenario, end-users install the device application by running an MSI installer on their desktop computer. The desktop installer uses the Application Manager (CeAppMgr.exe), which is part of WMDC or ActiveSync, to automatically copy and explode the CAB file to the target device. For more information, see the following topics: