|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer|
Packaging Device Solutions Overview
Deployment is the process by which you transfer an application or component to the target device or devices that it is intended to run on. Before you can deploy your solution, you must package it into a CAB file. A CAB file is a type of executable archive file that can contain your application, dependencies such as DLLs, resources, Help files, and any other files you want to include in it. When you build the CAB project, Microsoft Visual Studio 2005 generates an INF file which is used to create the CAB. The INF file describes which folder each file is to be installed into, which versions of Windows CE the application is intended to run on, whether the application is allowed to be uninstalled, and so on. You can also include in your CAB file a custom, native, DLL to perform any custom install steps such as checking for version number for Windows CE or the .NET Compact Framework, determining whether other components are present, and so on. After the CAB is copied to the target device, the user taps on it to begin the installation process. This is called exploding the CAB.
Microsoft Visual Studio 2005 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 machine to your device using an ActiveSync connection. Several third-party deployment solutions are available for more complex scenarios. For more information, visit the Mobile and Embedded Application Developer Center.
Visual Studio 2005 makes it possible, in most cases, to perform all of the necessary packaging work directly in the Visual Studio integrated development environment (IDE). You create a CAB file by first adding a Smart Device Cab project to your existing solution, then adding the files, shortcuts, and registry entries to it 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 with Visual Studio, the next step is to transfer it to the target device using any of the typical means for transferring files: via FTP or HTTP requests from the device, manual copying from your desktop development machine into a folder on a connected device using Windows Explorer, over the air (OTA) transfer for Smartphones, and so on.