This project is read-only.

Mobile Updater Application Block


The Mobile Updater Application Block has been developed by the Q4Tech Engineering Team, based on the Microsoft patterns & practices Updater Application Block. It incorporates the Connection Monitor and the Configuration Application Block, both part of the Mobile Client Software Factory.

Continuing with the good work done by the patterns & practices group for the Mobile Client Software Factory, Q4Tech has decided to address an unsolved necessity in the mobile application development: the deployment and maintenance of applications.

This application block is not simply a port of the desktop version. It includes specific functionality specifically targeting the needs of the mobility scenario. We've cleaned up the original code striving for as small as possible a footprint. The block includes an Updater Agent that runs as a service on the mobile device, allowing you to share updating logic among your applications, and letting you manage the deployment and maintenance process from a centralized server.


The design of the application block provides a manageable and scalable solution that strikes a balance between flexibility and complexity. The main design goals of the Mobile Updater Application Block are the following:
  • Simplify the addition of self-updating capabilities to a mobile application using standard protocols like TCP/IP and HTTP
  • Adapt and extend patterns & practices Updater Application Block 2.0 to the Mobile domain
  • Make efficient use of network bandwidth
  • Allow processing of complex updates
  • Leverage the mobile device's status variables from the updating process
  • Support background updating for mobile applications through an Updater Agent

Use Cases

The main focus of the block is the client side of the updating process. For the client side, the block includes basic functionality and a Web Service contract which allows you to add business-specific functionality based on a Device Id identifying uniquely the device.

Like its desktop counterpart, the Mobile Updater Application Block is designed to support the most common scenarios for self-updating applications:
  • It supports applications that need to be kept up-to-date with current executable versions.
  • It supports applications that use multiple plug-ins that users can download and activate on their desktops.
  • It supports applications that rely on reference data (for example, a large set of documents) that need to be cached on the client and be occasionally updated from a server.


The Mobile Updater Application Block helps you in the following ways:
  • It helps you implement a "pull model" to automatically download updates for .NET Compact Framework applications.
  • It helps you perform pre-download and pre-configuration tasks based on device status queries.
  • It helps you perform post-download configuration tasks without requiring user intervention.
  • It helps you drive the download and configuration tasks from your live, already-running application, ensuring protection from data loss.

System Requirements

The Mobile Updater Application Block requires the following software:

See Also

Last edited Apr 29, 2009 at 2:29 PM by josegallardo, version 1


No comments yet.