I am updateing an ASP Classic website. ASP is definitely not my forte, but I have done a little.

I am trying to load objects one way for Windows 7+ and another way for Windows XP.
I use the CODEBASE for Windows XP, and not for Windows 7. Regardless of OS, the
first method appears to be used by the browser.

#1 Why is this?
#2 Is there a case where the browser downloads the control from the server if the CODEBASE tag is left off?

My understanding is that if you use the CODEBASE tag, then the browser checks the control version and if an old
version exists on the Client, downloads it from the server.


Code:
Dim strAgentA
Dim aryAgentElemsA, strOSA

strAgentA = Request.Servervariables("HTTP_USER_AGENT")
aryAgentElemsA = Split(strAgentA, ";")
strOSA = aryAgentElemsA(2)

If strcomp(trim(strOSA),"Windows NT 6.1") = 0 Then
%>
<object ID="oPersonalInbox"> 
CLASSID="CLSID:0006F063-0000-0000-C000-000000000046" 
HEIGHT="100%"
WIDTH="100%">
<param NAME="View" VALUE="">
<param NAME="Folder" VALUE="Inbox">
<param NAME="Namespace" VALUE="MAPI">
<param NAME="Restriction" VALUE="">
<param NAME="DeferUpdate" VALUE="0">
</object>

<%
else
%>
<object ID="oPersonalInbox"> 
CLASSID="CLSID:0006F063-0000-0000-C000-000000000046" 
CODEBASE="outlctlx.CAB#ver=9,0,0,3203"
HEIGHT="100%"
WIDTH="100%">
<param NAME="View" VALUE="">
<param NAME="Folder" VALUE="Inbox">
<param NAME="Namespace" VALUE="MAPI">
<param NAME="Restriction" VALUE="">
<param NAME="DeferUpdate" VALUE="0">
</object>
<%
end if