Visual Updating Controls
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
- 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
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
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.
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:
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.
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.
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
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.
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.
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.
Download AppLife Update Here