Introduction to Software Update Channels

Microsoft Active Channel technology is obsolete as of Windows Internet Explorer 7 and should not be used. Users want an easy and convenient way to download and install new versions of software. Software Update Channels are specialized channels that you can use to notify users of software updates and also deliver and install the updates on their computers. Users who have downloaded your software and subscribed to your Software Update Channel are notified when new versions of your software become available. When notified of an update, users can click a gleaming icon representing your channel, which returns them to your download site so they can obtain the new version. Users can also choose to have software updates delivered and installed on their computers automatically.

Active Channel technology is obsolete as of Internet Explorer 7 and should not be used. This article introduces you to the terminology, benefits, and implementation of Software Update Channels. After reading this article, you will understand how easy it is for users to discover and interact with this technology, and you will know how to create your own Software Update Channels. Links to relevant overviews, references, and tutorials are provided at the end of the article.

  • Key Terms and Concepts
  • Requirements
  • Benefits
  • How It's Done
    • Enable users to download the current version of your software.
    • Author a CDF file to define the Software Update Channel.
    • Link a Web page on your site to the CDF file.
    • Advertise new versions of your software when they become available.
  • The User Experience
    • Discovering Software Update Channels
    • Subscribing to a Software Update Channel
    • Receiving Notification of Updates
  • Related topics

Key Terms and Concepts

This section contains terminology you should familiarize yourself with to understand Software Update Channels.

  • Active Channel Technology

    Simply put, a channel is a Web site described by a Channel Definition Format (CDF) file. CDF is an XML vocabulary, or XML-based data format, which can be used to organize a set of related Web resources into a logical hierarchy. CDF files provide a description of the resources in a channel—describing how resources in a channel will be used or displayed, for example, and how frequently the channel should be monitored for updates.

    The CDF file for a Software Update Channel identifies the current version number of your software and defines the channel. Microsoft Internet Explorer 4.0 and later can monitor CDF files for changes. When changes to the software's version number are discovered in a CDF file, Windows Internet Explorer can notify the user that a new version of your software is available. Defining a channel means that the CDF file can also contain details like the unique name of the software, hardware configurations the software will run on, and the location of the distribution unit. The CDF file may also define a schedule that Internet Explorer should use for update monitoring.

    Note  For more information about Active Channel Technology, see Introduction to Active Channel Technology.

     

  • Internet Component Download

    Internet Component Download is a system service for downloading and installing software from Web sites on the Internet and intranets. This service also provides certificate checking. Developers can package applications and place them on Web servers for download. Internet Component Download enables users' browsers to download and install the programs from the Web servers.

    CDF files can be seen as the mechanism that monitors the channel for changes and notifies the user of updates. Internet Component Download is the service that can deliver and install the software.

    Note  For more information about Internet Component Download, see Internet Component Download.

     

Requirements

Software Update Channels are supported by Internet Explorer 4.0 and later.

Software Update Channels can be used to advertise, deliver, and install updates to portable executable image files, such as .dll, .exe, and .ocx files, as well as Java class files and applets. Using Software Update Channels to automatically deliver and install updates to large applications, however, is not recommended. With larger applications, it is recommended that Software Update Channels only be used to notify users of newer versions.

Benefits

Software Update Channels simplify software updates for users. If the user chooses, some subscriptions can be set up to automatically download and install software updates as soon as they become available.

The authoring options available to channel developers are designed to increase the visibility of a site and to improve the user's experience with that site. The hierarchical structure of a CDF file enables channel authors to present different logical views, or "intelligent subsets" of their site's contents. Because channels can monitor Web sites for updates on a regularly scheduled basis, they are an effective way of building return traffic to your Web site. Gleaming icons on the user's desktop are another way that channels can increase your Web site's visibility.

Subscribing to channels enables users to receive updates passively. Rather than requiring users to continually check a favorite Web site for updates, channels can be used to notify users that items on a site have been updated, and can even deliver updates automatically. Automatic notification and delivery of updates enhances the user experience.

Using Software Update Channels, users never need to navigate through layers of pages or drop-down menus to specify their computer configurations. Besides being cumbersome, this process assumes that users always know their hardware and software configurations. Certainly, this is not always the case. With Software Update Channels, Internet Explorer can be responsible for downloading and installing only those files that are relevant to the user's configuration. By eliminating redundant downloads, Software Update Channels also save bandwidth and reduce server loads.

Offline browsing is yet another benefit of Active Channel Technology. In offline mode, Web content is obtained exclusively from the cache, a local repository of files gathered from the Web through normal browsing, and through the delivery of channel subscriptions. Precached Web pages can be viewed offline. Precached software can be installed offline.

How It's Done

This section describes the steps for creating Software Update Channels:

  • Enable users to download the current version of your software.
  • Author a CDF file to define the Software Update Channel.
  • Link a Web page on your site to the CDF file.
  • Advertise new versions of your software when they become available.

Enable users to download the current version of your software.

Internet software distribution units are usually addressed by the CODEBASE attribute of an object tag on a Web page. The software's version number is specified by the #version fragment of the CODEBASE URL. This version number must correspond with the version number in the distribution unit—either in the Open Software Description (OSD) file, the INF file, or both if both are present.

Author a CDF file to define the Software Update Channel.

The main section of all CDF files begins and ends with the CHANNEL element, which defines the channel. The USAGE element, which is nested within the CHANNEL element in the CDF file, is set to "SoftwareUpdate" to notify Internet Explorer that this is a Software Update Channel.

CDF files that define a Software Update Channel also contain a SOFTPKG element that defines the software distribution. The SOFTPKG element is nested within the CHANNEL element. The SOFTPKG element's attributes specify the following:

  • URL of the page that should be navigated to when installing the distribution.
  • Unique name of the distribution.
  • Version number of the distribution.
  • Mechanism that the computer should use to download and install the distribution.

To enable users to subscribe to your Software Update Channel, the VERSION attribute of the CDF file's SOFTPKG element must be identical to the version of the software registered on the user's machine.

The SOFTPKG element can contain an IMPLEMENTATION element, which specifies the hardware configuration required by the software distribution. The CODEBASE element, which can be nested within the IMPLEMENTATION element, specifies the location of the distribution unit that is to be installed.

Post the CDF file on an HTTP server.

Sample CDF file

The following CDF file defines a Software Update Channel for an Microsoft ActiveX control called Circle Control.

<?xml version="1.0"?>
<CHANNEL HREF="http://domainName/projectName/circ3_home.htm">
    <TITLE>Circle Control Software Update Channel</TITLE>
    <USAGE VALUE="SoftwareUpdate"/>
    
    <SOFTPKG HREF="http://domainName/projectName/circ3_setup.htm"
      NAME="{9DBAFCCF-592F-101B-85CE-00608CEC297B}"
      VERSION="1,0,0,1"
      STYLE="MSICD">
        <TITLE>Circle Control</TITLE>
        <ABSTRACT>This is version one of Circle</ABSTRACT>
        
        <IMPLEMENTATION>
            <PROCESSOR VALUE="x86" />
            <CODEBASE HREF="/osd/GenericSample/circ3.cab"/>
        </IMPLEMENTATION>
    
    </SOFTPKG>

</CHANNEL>

The XML processing instruction in the sample CDF file indicates that this is an XML document.

The CHANNEL element defines the channel. The HREF attribute of the CHANNEL element points to the URL associated with the channel. Users will be sent to this URL when they activate the channel.

The text string within the TITLE element will represent the channel on users' desktops. ABSTRACT and LOGO elements may optionally be used to represent the channel. A SCHEDULE can be created that will instruct Internet Explorer how often to check for updates.

As previously mentioned, setting the USAGE element to "SoftwareUpdate" notifies Internet Explorer that the sample CDF file defines a Software Update Channel.

The SOFTPKG element, which defines the software distribution, appears next in the sample CDF file above. When installing the software distribution, users will be sent to the URL specified in the HREF attribute of the SOFTPKG element. Using a GUID in the NAME attribute of the SOFTPKG element ensures the uniqueness of the software distribution's name. The VERSION attribute specifies the major, minor, custom, and build version numbers. And the STYLE attribute of the SOFTPKG element specifies the mechanism that client computers should use to download and install the software distribution.

The IMPLEMENTATION element, which specifies the hardware configuration required by the Circle Control in the sample CDF file, contains nested PROCESSOR and CODEBASE elements. The PROCESSOR element specifies the type of processor the software will run on. The CODEBASE element specifies the location of the distribution unit to be installed. The IMPLEMENTATION element could also contain nested LANGUAGE and OS elements. The LANGUAGE element is used to specify the international languages supported by the software's user interface. And the OS element is used to specify operating systems the software supports.

Place an image button, anchor, or other hyperlink to the CDF file on the Web site. Users who click the hyperlink will encounter a subscription dialog box that enables them to choose how they want to interact with the channel.

  1. Copy this image button, shown in the following image, to your Web server.

  2. Copy and paste the following script between the beginning and ending head tags on your Web page.

    <!--
    <SCRIPT LANGUAGE="JavaScript">
      function isMsie4orGreater() { 
      var ua = window.navigator.userAgent; var msie = ua.indexOf ("MSIE");
      if (msie > 0) {
        return (parseInt (ua.substring (msie+5, ua.indexOf (".", msie))) >= 4);
      }
      else {return false; }
    }  
    </SCRIPT>
    -->
    
  3. Copy and paste the following script between the beginning and ending body tags on your Web page. This script is used to place the image button on your Web page, allowing users to install your channel.

    <A NAME="uniqueName" 
    HREF="https://www.microsoft.com/ie/ie40/download/?/ie/ie40/download/redirect.htm"> 
    <IMG SRC="urlOfImageButton" border=0 width=136 height=20></A>
    <SCRIPT LANGUAGE="JavaScript">
        if ( isMsie4orGreater()) { uniqueName.href ="urlToCDF"; }
    </SCRIPT> 
    

    Edit the above script as follows:

    • Replace each occurrence of uniqueName with a unique name for each logo placed on the page.
    • Include the actual URL of the image button on your server in place of urlOfImageButton.
    • Include the actual URL of the CDF file on your server in place of urlToCDF.

When a new version of your software is available, modify the CDF file on your Web server as follows:

  1. Modify the #version fragment of the CODEBASE URL to reflect the new version number of your software.
  2. Replace the URL of the CODEBASE element, if necessary, so that it points to the location of the distribution unit containing the new files for your component.
  3. Replace the HREF attribute of the SOFTPKG element, if necessary, so that it points to the URL of the Web page where users can read about your software's new features and installation instructions.

The User Experience

This section talks about how users discover and interact with Software Update Channels. Where are they found in Internet Explorer's user interface? How do users subscribe to Software Update Channels? How do users find out about software updates?

Discovering Software Update Channels

There are two ways for users to discover Software Update Channels in the default user interface for Internet Explorer 4.0 and later:

  • The Software Updates folder located in the Favorites menu.
  • The Software Updates folder in the Favorites Explorer Bar. This view is accessed either by selecting Explorer Bar from the View menu and then selecting Favorites, or by clicking the Favorites button in the standard Internet Explorer toolbar.

The Favorites menu contains two folders for channel subscriptions: the Software Updates folder contains software subscriptions, while the Channels folder contains Active Channel subscriptions. Internet Explorer separates software subscriptions from Active Channel subscriptions because the two usually have very different update frequencies.

Many Active Channel subscriptions are set up to receive the latest news stories, business reports, and entertainment information. An Active Channel site can send out updates several times a day. Therefore, the user should expect frequent update activity in the Channels folder. On the other hand, a user would not expect to see updated subscriptions in the Software Updates folder on a daily basis. Software subscriptions are updated only when a new version of the subscribed software becomes available. With that in mind, users should expect a software channel to update once every few weeks, or even months.

Subscribing to a Software Update Channel

Subscribing to a software channel is similar to adding an Active Channel subscription. Users are presented with an image button or link that references the CDF file for the software channel. Upon clicking the button, users are presented with the Add Software Update Channel dialog box.

At this point, users can choose whether they want to subscribe to the software channel. Software Update Channel subscriptions will notify the user whenever the new software is available and, if the user chooses, will also download the software.

Receiving Notification of Updates

Internet Explorer 4.0 and later uses a "gleam" placed on the channel icon as the basic method for notifying users that a channel subscription contains updated content or software. The icon representing a channel in the Software Updates folder will have a red gleam overlaid on it when that channel is updated. Because the Internet Explorer interface provides multiple ways to access software subscriptions, the icon gleam is seen in the Software Updates folder, the \WINDOWS\Subscriptions folder, and the Favorites Explorer Bar.

Although the icon gleam is the default notification method for channel updates, the user can choose to be notified by e-mail as well. When a subscription is updated, the user will receive e-mail with a short summary describing the update. The user's e-mail address can be specified at subscription time, or it can be specified later by modifying the properties of the Software Update Channel's subscription. To access the Software Update Channel's properties, right-click the CDF file and select Properties. The CDF can be accessed by either selecting Manage Subscriptions... or the Software Updates folder located on the Favorites menu. Note that the context menu used to access the properties of the Software Update Channel can also be used for other functions, such as immediately updating or deleting the channel.

In addition to gleams and e-mail notifications, Internet Explorer 4.0 and later provides the underlying mechanism, using Software Update Channels, for an application to check its own update availability status. When an update is detected, the application can notify the user by presenting a dialog box alert at the time the application is launched.

Conceptual

Introduction to Active Channel Technology

Internet Component Download

CDF Extensions for Software Update Channels

How to Create Channel Definition Format (CDF) Files

How to Automatically Update an ActiveX Control

Publishing Application Updates on the Web

How to Package Components for Internet Distribution

Updating Software with New Versions

Other Resources

Open Software Description sample