This article describes how to publish updates to applications on the Web.
This article applies to applications, not ActiveX® Controls or Java applets. For information about updating ActiveX Controls, see How to Automatically Update an ActiveX Control.
Support for Software Update Channels and Channel Definition Format (CDF) files began with Internet Explorer 4.0. With Internet Explorer 4.01 and later, users can be notified of updates when they launch an application from its shortcut. For more information about the changes between Internet Explorer 4.0 and Internet Explorer 4.01, see Version Changes.
Users must have the Enable Scheduled Subscription Updates option set, or they must manually update their subscriptions to allow Internet Explorer 4.01 to check for updates. This option is enabled by default.
Before creating a Software Update Channel, the application should be prepared to handle these tasks:
Developers who use the Professional Edition of InstallShield can have their setup script automatically perform the necessary registry and shortcut modifications by using the template script available at http://support.installshield.com/resource/is5_wh_paper.htm .
Because your users are receiving updates through the Internet, Internet Explorer respects the URL Security Zone setting users are in when making the software update. The behavior is as follows:
Security Zone level for your site | Software Update Channel behavior |
---|---|
High | No software update functions available. |
Medium | Requires the AuthorizedCDFPrefix. |
Low | All software update functions available. |
For the medium setting, you must (during your installation routine) set the AuthorizedCDFPrefix key in the registry for your particular AppName (the Microsoft Application Logo 5 name). This authorizes particular URLs to notify the user of updates. The reason for this is security. By entering the URLs that are authorized to provide updates for your software, you prevent rogue sites from publishing false updates.
AuthorizedCDFPrefix is a new key you must create under the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<Your App Name> branch of the registry. Any number of new string values can be added to this key, each of which represents a location where Internet Explorer can get software updates. For example, if one of the strings is "http://testserver", any URL beginning with these letters is authorized to publish software updates. If you want to allow any site to publish updates, you can simply use "http:" as the string.
In either the installation process for the software or the initial launch of the application, the shortcut to the application must be modified so that the system will be able to notify the user of any updates. This also requires Internet Explorer 4.01 or later.
Note Microsoft Installer (MSI) technology, which will be released in the near future, automatically generates modified shortcuts.
To modify the shortcut, you must do one of following:
IShellLink::SetPath( ::{9db1186f-40df-11d1-aa8c-00c04fb67863}: AppName :: Path);
In this function, ::{9db1186f-40df-11d1-aa8c-00c04fb67863}: is a special identifier that should be used as listed. AppName is the name of your application in the registry's uninstall branch under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<Your App Name>. Path is the path to the program (the normal target of the shortcut).
Blesslnk -l AppName FullPath
The AppName above is the name of your application in the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<Your App Name> branch of the registry, and FullPath is the full directory path to the shortcut.
Creating your own Software Update Channel for Internet Explorer is very easy. Simply use the following example, replacing the information with your own by following the steps after the example.
<?XML version="1.0"?> <CHANNEL HREF="http://testserver/logo5/logo5.htm"> <TITLE>Green (MSAppLogo5) Test Channel</TITLE> <LOGO HREF="http://testserver/logo5/green.ico" STYLE="icon"/> <USAGE VALUE="SoftwareUpdate"/> <SOFTPKG HREF="http://testserver/logo5/logo5.htm" NAME="{55272F7E-1B37-11D1-8933-00805F8A4D63}" VERSION="1,1,0,1" STYLE="MSAppLogo5" PRECACHE="yes"> <TITLE>Green</TITLE> <ABSTRACT>Abstract: Green v1.1 application installed via channel</ABSTRACT> <IMPLEMENTATION> <CODEBASE HREF="http://testserver/logo5/green-x.exe" /> </IMPLEMENTATION> </SOFTPKG> </CHANNEL>
Make these changes to customize this example for your own Software Update Channel:
When you have completed these steps, put the CDF file on your Web server and request that your users subscribe to this channel when they come to your page. Your text can say, "Click here to subscribe to a channel that will notify you when future versions of this software are available."
In the future, when new versions are available, modify the CDF file on your Web server. Users will receive the modified CDF file. Make the following modifications:
Once users receive the modified CDF file on their machines, they can be notified of the new software in two ways:
Note that this requires users to be running Internet Explorer 4.01 or later with the Windows Desktop Update. In addition, it requires a modification to the shortcut to your program.
When users click the gleaming channel icon, they will be taken to the page defined by the HREF attribute of the SOFTPKG element in your CDF file to read about the update. This page is also the page used to set up the program.
The following lists contain links to topics related to publishing updates to applications on the Web.
Overviews
References