Web Workshop (Miscellaneous)

Tools to Help You Update Your Users to Authenticode 2.0


Updated: July 17, 1997

Microsoft is providing you with several options to help update your Internet Explorer for Windows 95 and Windows NT 4.0 users to Authenticode 2.0. We will be using two methods (manual and automated) to update users who hit Microsoft sites, and we want to make it easy for you to use either option on your site as well.

* Manual option
* Automated option

Note: Although we originally offered to let ICPs and ISVs host the actual download bits on their own sites, we felt it would be easier for all concerned if we hosted the bits on Microsoft servers instead. That way we can update users' machines without having to impact ICPs' and ISVs' servers.

Manual Option for Updating Your Users to Authenticode 2.0

This option updates users of Internet Explorer 3.0, 3.01, 3.02, and the Platform Preview of Internet Explorer 4.0 with a single ~400K download. (Internet Explorer 4.0 Preview 2 or final release users do not need the Authenticode 2.0 update, because it's included in the browser.)

User experience: The manual method requires the user to first respond "Yes" to a pop-up dialog box, then click the download link on an information page that appears, and then click on "auth2all.exe" on a download page that lists the various servers where the code is located. On Internet Explorer 3.x, the dialog box will stop appearing after the browser has been restarted. On Internet Explorer 4.0 Platform Preview, the dialog box will stop appearing after the user re-boots their machine.

The code: The sniffing script that identifies users who need to get the patch is provided below. You can place this script on any page you like, but we suggest you put it on pages where users go just prior to downloading new ActiveX controls or other signed code from your site.

The script will pop up a dialog box telling the user they should get the Authenticode update. If the user clicks the "Yes" button, they are taken to a Web page Non-SBN link at Microsoft where they can get the update. This same page also includes international versions, as they become available.

The sniffing code detects versions of Internet Explorer 3.x and 4.0 Platform Preview. Use this code in an .ASP file, so it can get the value of HTTP_USER_AGENT and pass it to the client-side script.

<%
set ua = Request.ServerVariables("HTTP_USER_AGENT")
%>

<HTML>
<HEAD>
<SCRIPT LANGUAGE="VBScript">
<!--
option explicit
dim majorver
dim ua
dim ie3
dim ie4
dim aol
dim minorver4
dim update
dim winplat
dim nav
dim intButton
set nav = navigator
ua = "<%=ua%>"
minorver4 = ""

if len(ua) >=1 then 'nav object is supported
winplat = mid(ua,instr(ua,"Windows") + 8, 2)
majorver = mid(ua,instr(ua,"MSIE") + 5, 1)
ie3 = majorver = 3 and (winplat = "NT" or winplat = "95" or winplat = "32")
ie4 = majorver = 4 and (winplat = "NT" or winplat = "95" or winplat = "32")
update = instr(ua,"Update a")
aol = instr(ua,"AOL")

if ie4 then minorver4 = mid(ua,instr(ua,"MSIE") + 7, 3)
If (ie3 or minorver4 = "0b1") and update = 0 and aol = 0 then 'filter down to ie3 or ie40b1(PP1) then see if "update a" is true and not AOL
'display information back to the users
intButton = msgbox ("Get Authenticode 2.0 now!  This update provides valuable new features and renews key Authenticode certificates that help you safely download software from the Web. The update should take less than 5 minutes to download over a 28.8 Kbps modem. Do you want to visit our Authenticode Update page?", 4 + 64, "Download the Authenticode 2.0 Update Now!")
If intButton = 6 then
location.href="http://www.microsoft.com/windows/ie/security/authent2.asp"
end if
end if
end if


-->
</SCRIPT>
...

Automated Option for Updating Your Users to Authenticode 2.0

This option requires less work by the user to get the update (one click to get the update, and another to either restart their computer or go back to the Web page they were previously viewing). The automated option also provides better detection of Authenticode 2.0 on users' systems than the manual option.

User experience: After coming to a page with this implementation, users are presented an Authenticode Certificate dialog, on which they need to click "Yes," just as when they download new ActiveX controls. Users who have previously agreed to accept all code from Microsoft won't even get this first dialog, and the installation will be completely automatic, without any user interaction required.

After the user clicks "Yes," a small executable will run that will determine the version of the patch the user needs, including international versions. It will then automatically download the appropriate update to the user's computer from a randomly selected server. At this time, the user will see another pop-up dialog, which tells them that they are currently downloading the Authenticode 2.0 patch, and that it should take about 5 minutes over a 28.8 modem.

If the randomly selected server is unavailable, the user will be asked to choose the Authenticode 2.0 patch from a list of available servers.

Once the update has been downloaded and installed (with no further user interaction required), a third dialog pop-up will inform users that they have successfully installed the update and that they need to restart their computer to enable Authenticode 2.0. If users select not to restart, they will return to the page they started from.

Internet Explorer 4.0 notes: If the user is running Internet Explorer 4.0 Platform Preview (the earlier release of Internet Explorer 4.0), they will receive a dialog box pointing to the Authenticode 2.0 patch page for the download. If the user is running Internet Explorer 4.0 Preview 2 or the final release, there will be no need to download the patch (it's already part of the browser).

The code: The sniffing script that identifies users who need to get the patch is provided below. You can place this script on any page you like, but we suggest you put it on pages where users go just prior to downloading new ActiveX controls or other signed code from your site. Note that nothing is needed in the body for the script to work.

<HTML>
<HEAD>
<SCRIPT LANGUAGE="VBScript">
<!--
'Auto-install for Internet Explorer 3.0 to 3.02 -- Iframe that calls ocx
'Manual-install for Internet Explorer 4.0 PP1 -- dialog box
option explicit
dim majorver
dim ua
dim ie3
dim ie4
dim aol
dim minorver4
dim update
dim winplat
dim win32
dim nav
dim intButton
ua = navigator.useragent
minorver4 = ""
intButton = 0

if len(ua) >=1 then 'nav object is supported
winplat = mid(ua,instr(ua,"Windows") + 8, 2)
win32 = mid(ua,instr(ua,"Win") + 3, 2) 'some user agent strings display the platform is referred to as Win32
majorver = mid(ua,instr(ua,"MSIE") + 5, 1)
ie3 = majorver = 3 and (winplat = "NT" or winplat = "95" or win32 = "32")
ie4 = majorver = 4 and (winplat = "NT" or winplat = "95" or win32 = "32")
update = instr(ua,"Update a")
aol = instr(ua,"AOL")
        if ie4 then minorver4 = mid(ua,instr(ua,"MSIE") + 7, 3)

if minorver4 = "0b1" and update = 0 and aol = 0 then
    intButton = msgbox ("Get Authenticode 2.0 now!  This update provides valuable new features and renews key Authenticode certificates that help you safely download software from the Web. The update should take less than 5 minutes to download over a 28.8 Kbps modem. Do you want to visit our Authenticode Update page?", 4 + 64, "Download the Authenticode 2.0 Update Now!") 
If intButton = 6 then
location.href="http://www.microsoft.com/windows/ie/security/authent2.asp"
end if
end if

If ie3 and update = 0 and aol = 0 then 'filter down to ie3 or ie40b1(PP1) then see if "update a" is true and not AOL
'In the next line after SRC set the path to that of your server or virtual root
document.write"<IFRAME ID='auth2' SRC='auth2_object.htm' WIDTH=1 HEIGHT=1 BORDER=0 FRAMEBORDER=0 FRAMESPACING=0 HSPACE=0 VSPACE=0 NORESIZE SCROLLING=NO></IFRAME>"
end if
end if
-->
</SCRIPT>
...

Here is the listing for the auth2_object.htm file, which loads the control referenced in the IFRAME tag above:

<HTML>
<HEAD>

<META NAME="keywords" CONTENT="Authenticode" />
<META NAME="description" CONTENT="Options for updating Internet Explorer for Windows 95 and Windows NT 4.0 users to Authenticode 2.0" />
<META NAME="MS.LOCALE" CONTENT="EN-US" />
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1" />
<META NAME="ROBOTS" CONTENT="NOINDEX">
<SCRIPT LANGUAGE="VBScript">
<!--
option explicit
sub window_onload
on error resume next
goget
end sub

sub goget()
GoGetFiles.GoGetFiles()
end sub
-->
</SCRIPT>
</HEAD>

<BODY>
...
<!-- AUTHENTICODE 2.0 OBJECT -->
<OBJECT
id="GoGetFiles"WIDTH=0 HEIGHT=0
CLASSID="clsid:D900B243-EE45-11d0-BC4B-00AA00A48647"
CODEBASE="http://activex.microsoft.com/controls/msdnld/msdnld.cab"
>
</OBJECT>
</BODY>
</HTML>

HomeBack to the ActiveX SDK home page



Back to topBack to top

Did you find this material useful? Gripes? Compliments? Suggestions for other articles? Write us!

© 1999 Microsoft Corporation. All rights reserved. Terms of use.