Solution Lab

Articles, demos and examples that help AppLife users get the most out of their software.

Visual Updating Controls

Downloads

Lab Description

AppLife Update 4.0 includes new Windows Forms and WPF visual updating controls that you can use to integrate automatic updating into your application. These controls can be configured to provide a variety of behaviors, and this solution lab will introduce you to the available options.


Visual Controls Introduction

The new visual controls are designed to offer a drag and drop, code-less automatic updating integration. The new Windows Forms controls are:

  • UpdateDisplay control

    in-line control designed to be placed on the main form of an application. This control checks for an available update, downloads updates in the background, and displays appropriate notifications throughout the process. The behavior can be customized through the designer property grid. The control provides a context menu, and a popup details display.



  • AppLife Update Visual Controls
  • UpdateNotifyIconDisplay control

    This control utilizes the Windows system tray to notify and interact with the user as a background update check is performed. Download status is presented, as well as information on any available updates.


  • StatusStripUpdateDisplay control

    This control behaves similarly to the UpdateDisplay control, but is contained within a Windows Status Strip control. Similar configurable behaviors are available.


  • UpdateDetailsDisplay control

    This control is designed to be placed on a secondary form, and provides a panel-like user experience.


Visual Options

Auto Hide
The auto hide feature allows you to designate the amount of time (in seconds) that the control will be visible after an update check. If the application user does not interact with the control in the allotted time, the control will slowly fade to invisible. If auto start is enabled and a repeat check occurs, the control will become visible during the check and again become invisible if no interaction is performed. To use this feature, assign the time delay to the AutoHideDelaySeconds property. A value of 0 disables this feature.


AppLife Update Visual Control Options

Hide When Up-To-Date (Notify Icon only)
The system tray control places an icon in the tray as an update check is performed. If no updates are available, you can optionally choose not to continuously display the icon. When enabled, the system tray icon will be removed after an update check is completed if no update is available. To enable this feature, set the HideWhenUpToDate property to true.

Display Mode
The update display controls display an image and a text message. These visual adornments change based on the state of the update process. You can optionally show a short or long text message, as well as show or hide the image by changing the DisplayMode property. Your choices are:

  • Image and Long Text (Default)

  • Image and Short Text

  • Image Only

  • Long text Only

  • Short text Only

No Update Available Image and Text
The image and the text message displayed when no updates are available can be customized. To do so, set the NoUpdateImageLarge (48x48), NoUpdateImageSmall (16x16), and NoUpdateCustomText properties.

Ready to Apply an Update Image and Text
The image and text message displayed when an update is ready to be applied can be customized. To do so, set the ReadyToApplyImageLarge (48x48), ReadyToApplyImageSmall (16x16), and ReadyToApplyCustomText properties.

Show Update Summary
When updates are published, you can provide summary text to identify the changes made in the update. This summary text is shown in the visual controls pop up panel, as well as on the update details control. If this summary text field is not used, or you would prefer a smaller details popup, you can choose not to display this text, and collapse the space taken up by the details box by setting the ShowUpdateSummary property to false.


Behavioral Options

AutoStart Property
An update check can occur automatically when your application starts by setting the AutoStart property to true. This is the default value. If it would be preferable not to immediately check for updates, settings this value to false will prevent the update check from occurring. When auto start is disabled, clicking on the control can initiate a check. You can also programmatically initiate a check by calling the PerformClick method.

Repeated Update Checking
For applications that are launched and continue running for long periods of time, it might be desirable to repeatedly check for updates. You can define a time period (in minutes) after which the update control will repeatedly perform a check for updates. To enable this feature, set the RecheckDelayMinutes property, and ensure that AutoStart is set to true. A value of 0 disables this feature.

ClickAction Property
The action taken when a user clicks on the control can be configured through the ClickAction property. Choices are to apply an update (or start an update check), show the details form, or take no action. The default value is to apply an update.

Apply Update Options
There are a number of options that can be selected when an update is applied. Common options include not showing the updating user interface, automatically close the update (without requesting acknowledgement from the user), and preventing the application from restarting after the update.

The Update Controller
Each of the visual controls monitor and interact with an AppLife Update Controller. You can assign the same controller to multiple visual controls. What you can also do is utilize the Update Controller API to customize the use of the visual controls. An example use case would be to utilize an Update Display control to perform a background update check, but keep the control hidden unless an update is found. By subscribing to the update controller’s update completed event, the visibility of the Update Display control can be manipulated based on the presence of an update.

WPF Controls
There are two WPF visual controls. They are the UpdateDisplay control and the UpdateDetailsDisplay control. These controls are equivalent to their Windows Forms counterparts, but are true WPF controls. The same customizations are available through the properties described above, but unlike the Windows Forms control, you can elect to re-template the control and modify the visuals using WPF concepts.


Conclusion

Using the visual controls included in AppLife Update 4.0, you have many options available to integrate automatic updating into your application without writing any code. While you can still utilize the flexibility of the AppLife Update controller API to build a completely customized updating user experience, the property-based options of the updating visual controls provides enough flexibility for most Windows Forms and WPF application development teams to integrate updating features without needing to resort to the API.

For answers to questions about this example, please contact Kinetic Jump tech support. techsupport@kineticjump.com

Download AppLife Update Here