From: Subject: Microsoft TechNet Date: Thu, 6 Feb 2003 14:39:35 +0100 MIME-Version: 1.0 Content-Type: multipart/related; type="multipart/alternative"; boundary="----=_NextPart_000_000B_01C2CDED.91F17960" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 This is a multi-part message in MIME format. ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.microsoft.com/library/shared/toolbar/graphics/banners/TN_banner.gif R0lGODlh+gA8ANUAABpFk+z1/EqJxwAphAAtjStVoAAkfKbP71eb1AAujzNstNfs/CBNnFBvsQAw lL/K4jx2uDJmqwAqiAAyl4CWxRlNow00hV6j2wAidgAmgGB7to+jzW+KwAAvkhE5i6693FGTzt/l 8c/X6QAsi5+x1QYqfBNAlJ+v0gAfcUBgpgY0kQ49mChdq0F9vyxlsgAxlQAzmLvc9eHy/pHE6v7/ /3Gx487n+fX8/3u55rDV8pzK7Ya+5wAymGSs4f///wAzmSH5BAAAAAAALAAAAAD6ADwAAAb/wJ9w SCwaj8ikUgnjOSfQl1TqqFY72KwWa3VMX1AnD7Ysm8/otHrNbrvfxuYzOrVqE/i8fq+tTsNOZHCD hIWGh4hpcjxQE3VXWHkqFQoQAgI9mZqZFwItChV4XF5SgIKJqKmqq6uLdC92HXkmLgIIm7i5uAIs KglcpROBrMTFxsdIro5UDpEJKiwtF7rU1ZwKvh1+YMPI3t/gcHKNzM4ELJjW6tYXLr/apd3h8/RM MPf4+fqD43SQeCakrRuoTkA2UsLG1FtI756YhxAjBjqlSIy/ZrLOgSDIUR2Ig/F4MByJzOHDRihT NoJ4z4xJRsuu4FGh4FbHm9UEEPjlJQxF/5JAUZ1UuewLGJUSk1q8GInmNJxQqSnYCS9h0KuJ+r0y yvUL0a8pH0UioODpQBwzcERVt4IAPG4/scptM2fZAx8BulRh4MMHhSp3u6rsCusfgQo2Ccbo62Ot tRYjeHITObcymybkpNz1oWELh74UtN3dRphrLDwEVqTjuAPvjBk9cviA7RiXip0IKVvefQZzTAcP Avj4sCcE6C16k+vNkofACAVQF9PuIb02LhaRq+rmzT3Jk3IPHhhnkIAAgQLD/eLZ8OAdAxIhQpBg UGXDhgIffKRI0OBDeAoMbESdDD7cYEMNmtRggwwyLLBDJjLcgJcMB0Q4oQ4+xGAdBCO41f+TQt2F aARMVGAR3mccjKDiCZz5Zd5deDAgHAkk+BDCCh2EJ4IPDxSgAV4b7BhAJosFEMMCBSKIAw0+LGBD X7BZGACFUsqgAw02WCeABFTFI+KXQzBSTgLhAWCjiiME8EAKfql4l3ksNoAHimTiVcAIfIXggWpP 5tADXprkcANsSB6QSWs3EDmbJtVZp8mW2X0IJphiwhJJeATkV4AEP2rAJgUSjHCXijaa9yIHBNyl wQgSUMBZBdPg4IMMf9IwXSY1FLjJkw82St2ijmYCqYfcTPplpc3gEd4IP54gwQcBePCpBBKM6gGP aGZ7lwcSDMAiB5v09WtfMtgA2wyzbrL/mKG++uqoAAN0mMCHcSnSkrHGICsLmQ9QG0C0PpwwwLTV +iCBmQ9kq2LBAzSc363i9nCADcL1pQO6C6jrg5/tAhssvFz+EtJES7wk0b34ChVTRuFRy+KOKQzs F7V3heqDCGhKcIIGDGeQqQ+G4gooLrLJIOuQmjwJW8e3WqfAAKFKdlRC8hShDFJi1JsyHPoqm7AE 6NkINcE1F7ypBGxyMMBdGYwAArq0ZiJbDOhqKDStEj7YQw000KDodO5aVwDU8r6FUtZx1MXV4SBu XQiJGPHLqgTGgYr2zAVTy2YAGnDwLwBr++A2hE3OsJgPNfDtgw0HHCCchhjScIAOwgXt/yu6AbwW rAeEU0Xa1Ij/oNUXvx9VteNvkGhpAvYtrMEDAFBbwAM8S8BeqCM0YJyNgw8QZA2vzaCDhH3J/toB TJZvt8Tpy65JhXpn8mS6h4b/WvzrgGBABr1X4L//K/AKIBRHhf/9bwUIsQryBvEdS2XEOTmjFqsU pjBqdWsAGSgBCBjDwQ4yxho7UMs6wLcJAnEwbgQxAf+whwsFWEGARSkMFnKhAMMJQ2sLRMMcSoQa 81Dwh9myYMMysBEPGjFiwdKECRmDwoEIgH+EayFGXki8fySAhsAwHg5zWIYdynBf5TGVGMfow4UN sQWZOKIRk1jCDjZxICyAogRauBNRjP8CI/vyIQ19FxIutqEf5XDGHgbZQzMOgAWaUKMH2ahEN97k Ah6AYgtVZB5CFpJVNCxcT27oRzYs5RF43IIoC9ktE6grBqg0IipR2QPTWahBOUAQNXSwICbBUpY9 WCK5MjGDHNBNhDnJgDBbKEEVuEBAnOAFqygBnV0oQAEsEBlcOrkGZVRROcvJI6tUkBhcrPFQuuQg DdanifEdcZykO2EO0seYA1mDAftrYcNgVQ0QmKCZOZGMAqlZEQKWBpRjYRUEqvHNHbDziAHA5ekU maVwqjFL1bhACQzQwgwwYB0XQKM1dFIVYfCzmktByT9LJItlWmONS1JkOzNxAJUyJgb/DlUjMHXR AgOYpQcRsMBNe4AAW9xEAKKIxxY/egSTwQQsKysPq7qZizXOj4lKqhhjZqA6N8aAfIyhgVQ5iFUO 6mATTO0BAFbTg0rgAgLCzMBANwGCCORCAM/Ejj4bR1Q0GFUpUUiWcxB5Ug/KqoO4xBAHbSCbDkI0 Vy79amE5SM4IkJWnyCxrLixggMqWABcIwEAuIrDCSE2zruLQByCTxaqdNtWDLXUjg2SwVR/QwKEK ZdAqu6qrHrSmg43V6UZvcllccJZwcx0qaOkipmbsdR2qdKkbHVmNcKLQg41FQQHYCIDNdja4w01E pTIigbCeFrfKPSFzqeHcROJ2ExFA/wEKIlub6vr2utoRbnYr4gjSmhK50IXuKve7ynAmShNo0V0u xwvdTShAvR7ISS4YAIAGO/jBvUUvfOk1X0NgBhZKXas6jChYDgITB6vMwWueOlVNIEmRzz3vo9SL ArfqQsOaYACLLXAJAUAgAhGIsCYUMOHPVpiB9S1pdweyxoM2SZYnZkwAOpxVxbo0xYzdhABYXALv RkCjmrgAAFBQgsciAAW5uAADKOFZTv4YyJZyjgoIssbFZtVCHTRUTI14g/KmUcXCwoCeMeBe3yaY IDL2bibKTNcz06W+Sq0AmxfZgyQrMmO2NfIRZ2DnDeK5BwLAQGX1jE9NpHe664CAnv+xnAtCy9fQ SbiwkDvd1w7iytFGdOehaNtB95VXACUo8KMqy+sS7DS90jWtgTf9Z12YGtVugEGQE8AqVhOU0Sxt bV8CELRN1CAGkl6dCJ17YBToWlj7E2ZlL4rePVugJri4AAQoy2sDAMC7hN4OshWx7GYnEQc6WKUO ZqqLHRwAlSJmRwFYvOeC8zqtCBd3uxduWQdTNgPhVngGLAAABoy5ApqczLw9GWTnSMDZjHQUCDxg cIZHvGEoR3nCV87ylgsz5fHi4z43rsOOj+CQIWekAkqgZ5MjHOUWDPoFYZ7ylxO9YUNPuQQ962Oa n6G4HXDOAPqc89ogAACarmzCiW7/QSBOTuhgD7vYsZfxpju9izbvVtWdNlGtQxHpQkdTJfUgRq97 ve4Km7sNC312JUCd2d0i9do7IgCSux3uPzRVHkZJSDKO0ZJh1IM2ciPvvjOh3t2i+uAHgoACZH1/ iO/Q3CWfBeWI8g6DPL3qJx8MJ1i+N2LiLgYfu3lqXCDHWX+5BPUuyi6UBpvAD75e/pCQU1v+wsa9 eQZMIOzacwL3h++dHZNDmLCM9PojXQnfX+8dzGMQ1M4HK/S1jnRKvoMUi/vKUZHK/vYP0Pjc3255 uiVM8DsfBJ7/vO5DRZW3TG2AShGAAjiAEQF/3PcD30Fa9GcADNB8SaRuJKd/K8R/iqKwDe+3D2+Q DyWDgQcIUsvmcRhkADSWc+rGAHt2cHJkfqxnPNvXgSICOUI2RJU1VsGCABBggj0XfYRTOP5HNS7o OBe2PCoigwaAARbAAuxFECAAAQVgASeIgqHXfxZYfD+IPAmYfNSCQRBXhBhQAgAQAZbwWJ1gYxFQ AFj3hFAYhRWYQMdThfQQBAA7 ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.microsoft.com/library/toolbar/images/curve_003399.gif R0lGODlhEgAUAMQAAAAAAP///wAHFgAzmQAzmAAxkwAwkQAvjAAsgwAodwAlbwAkawAjagAgYQAd VgAcVQATOQASNQARMgAOKwANJgAIGAACBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAA EgAUAAAFTCCiOFAFnGiKDuxwNJGlqm3NSPNat8Uj5LvdgjIL7hITmrGWIOqWrcXvBN09ntVBAQfI 2mTeWqQbZjXI5UOl3IKwWY73QCFHyA1yQggAOw== ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.microsoft.com/library/toolbar/images/mslogo_003399.gif R0lGODlhcAAoAMQAAAAAAP///+7x+AAzmRBAnyBNpjBZrERptFV3u2WEwXWRyImh0Jmt1qq73brI 487Y697l8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAA cAAoAAAF/+AgjmRpnmiqrmzrvnAsz3Rt33iu73zv/8CgcEgsGo/IpHLJbDqf0Kh0Sq0uHVhsYsTI OhaGLGJKUJgNw0NgvVaICuz1QsFGRwsC9iFhPvzocW4DDHEBCHxmU4QBAm5sgj0NhW5whQUHmHYD BXwJBSMGmJ8GaAQIZgqaIgaoCmMkBIgKnwOhEGsOe49ofju3gYOFEAaPtQ6FCyK/DLcKCXlxDKsP hQEPBCIK0Gxb29VrDQYJqjaVcQ7mbA0JbAgI3o8E1cdrAtRyA/eNkm3BaxC/AgD6tmuWDgTzFm1T sCiAAWjDCPwSgJDgtQH8AphrICILHzbSBvx6cKAhggPQGP8cwMZjAZuR9e4FOHAPQsNeC7IMfFBA Jq2Bal42MEgAmgCWLtcMoAdhgLw1r3rQC9CwzbanVKE9OEHv6MYRA1l9S1AxQLKObAaoG1CWVo84 7NgICBog1yM2Z0vgHUAXErUHW/gym6RHRFFcxPoBauqDbtNAcc2G3TtAgc7CfUWgZNDKYIGAU18N NFOYHkcfA6XJJWByqsh6p9g8GIgNK4RDRmW6kVgvsbUDO/0FEKF1ZSRuavv5hOag8jcBBvhtFZG0 EPTI1bZkjMMz35rphXwE/FSPgG3fgrRFw7aMhHqQPwP+e0Wg+hoGtSkn+NW8CqZeKxDwH0skhJKJ CQJiQqAdFQw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4Yc7hAAAOw== ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: text/css; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.microsoft.com/library/shared/common/css/ie4.css BODY { MARGIN: 0px; FONT-FAMILY: verdana,arial,helvetica } TABLE.clsContainer { HEIGHT: 78% } A:link { COLOR: #003399 } A:visited { COLOR: #660099 } A:hover { COLOR: #ff3300 } H1 { FONT-SIZE: 165%; MARGIN: 0px } H2 { MARGIN-TOP: 1em; FONT-SIZE: 125%; MARGIN-BOTTOM: 0px } H3 { FONT-SIZE: 115%; MARGIN-BOTTOM: 0px } H4 { FONT-SIZE: 100%; MARGIN-BOTTOM: 0px } H5 { FONT-SIZE: 100%; MARGIN-BOTTOM: 0px } H6 { FONT-SIZE: 100%; MARGIN-BOTTOM: 0px } DIV.clsDocBody { MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px } TD { FONT-SIZE: 68% } TH { FONT-SIZE: 68% } P { MARGIN-TOP: 0.5em; MARGIN-BOTTOM: 1em; LINE-HEIGHT: 1.5em } PRE { PADDING-RIGHT: 5pt; MARGIN-TOP: 1em; PADDING-LEFT: 5pt; BACKGROUND: = #eeeeee; MARGIN-BOTTOM: 1em; PADDING-BOTTOM: 5pt; MARGIN-LEFT: 0px; = PADDING-TOP: 5pt } SPAN.db PRE { BACKGROUND: #eeeeee; PADDING-BOTTOM: 0pt; PADDING-TOP: 0pt } SPAN.ci PRE { BACKGROUND: #eeeeee; PADDING-BOTTOM: 0pt; PADDING-TOP: 0pt } SPAN.di PRE { BACKGROUND: #eeeeee; PADDING-BOTTOM: 0pt; PADDING-TOP: 0pt } PRE.clsCode { FONT-SIZE: 110%; FONT-FAMILY: 'courier new',courier,serif } CODE.clsText { FONT-SIZE: 110%; FONT-FAMILY: 'courier new',courier,serif } PRE.clsCCCode { FONT-SIZE: 120%; BACKGROUND: none transparent scroll repeat 0% 0%; = FONT-FAMILY: 'courier new',courier,serif } PRE.clsSyntax { FONT-SIZE: 100%; FONT-FAMILY: verdana,arial,helvetica,sans-serif } HR { COLOR: #cccccc; HEIGHT: 1px } UL { MARGIN-TOP: 10px; MARGIN-BOTTOM: 10px; MARGIN-LEFT: 25px } OL { MARGIN-TOP: 10px; MARGIN-BOTTOM: 10px; MARGIN-LEFT: 25px } UL LI { MARGIN-BOTTOM: 0.5em; LINE-HEIGHT: 1.5em } UL LI LI { LIST-STYLE-TYPE: disc } OL LI { MARGIN-BOTTOM: 0.7em } INPUT.clsButton { MARGIN-TOP: 10px; FONT-WEIGHT: bold; MARGIN-LEFT: 5px; COLOR: #ffffff; = BACKGROUND-COLOR: #6699cc } P.small { FONT-WEIGHT: normal; FONT-SIZE: 95%; LINE-HEIGHT: normal; FONT-STYLE: = normal; FONT-VARIANT: normal } P.smallWhite { FONT-WEIGHT: normal; FONT-SIZE: 95%; COLOR: #ffffff; LINE-HEIGHT: = normal; FONT-STYLE: normal; FONT-VARIANT: normal } P.author { FONT-WEIGHT: normal; FONT-SIZE: 95%; LINE-HEIGHT: normal; FONT-STYLE: = italic; FONT-VARIANT: normal } P.NoLeftMar { MARGIN-LEFT: -15px } A.small { FONT-WEIGHT: normal; FONT-SIZE: 95%; LINE-HEIGHT: normal; FONT-STYLE: = normal; FONT-VARIANT: normal; TEXT-DECORATION: underline } A.smallWhite { FONT-WEIGHT: normal; FONT-SIZE: 95%; COLOR: #ffffff; LINE-HEIGHT: = normal; FONT-STYLE: normal; FONT-VARIANT: normal; TEXT-DECORATION: = underline } .CODE { FONT-WEIGHT: normal } .CODE2 { FONT-WEIGHT: normal; BACKGROUND-COLOR: #cccccc } .DATE { COLOR: #999999 } .VRULE { BORDER-LEFT: #cccccc 1px solid } TITLE.open { FONT-WEIGHT: normal; FONT-SIZE: 95%; COLOR: #ffffff; LINE-HEIGHT: = normal; FONT-STYLE: normal; FONT-VARIANT: normal } TITLE.closed { FONT-WEIGHT: normal; FONT-SIZE: 95%; COLOR: #000000; LINE-HEIGHT: = normal; FONT-STYLE: normal; FONT-VARIANT: normal } TABLE.DATA { PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 5px; = PADDING-BOTTOM: 5px; BORDER-LEFT: #cccccc 1px solid; PADDING-TOP: 5px; = BORDER-COLLAPSE: collapse } TH.DATA { BORDER-RIGHT: #cccccc 1px solid; BORDER-BOTTOM: #cccccc 1px solid; = BACKGROUND-COLOR: #eeeeee } TD.DATA { BORDER-RIGHT: #cccccc 1px solid; FONT-WEIGHT: normal; BORDER-BOTTOM: = #cccccc 1px solid } TABLE.clsCCDCInfo { BACKGROUND-COLOR: #eeeeee } .LOCATION { FONT-WEIGHT: normal; FONT-SIZE: 24px; COLOR: #cccccc; LINE-HEIGHT: = normal; FONT-STYLE: normal; FONT-VARIANT: normal } .footer { FONT: bold xx-small Verdana } .footer:link { COLOR: #ffffff; TEXT-DECORATION: none } .footer:hover { COLOR: #ff3300 } DIV.artstyle { FONT-WEIGHT: normal; FONT-SIZE: 7pt; COLOR: #000000; LINE-HEIGHT: = normal; FONT-STYLE: normal; FONT-FAMILY: Verdana, Arial, Helvetica, = sans-serif } TABLE.clsStd TH { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; = VERTICAL-ALIGN: top; PADDING-TOP: 2px; BACKGROUND-COLOR: #ddd; = TEXT-ALIGN: left } TABLE.clsStd TD { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; = VERTICAL-ALIGN: top; PADDING-TOP: 2px; BACKGROUND-COLOR: #eee } P.clsRef { MARGIN-TOP: 12pt; FONT-WEIGHT: bold; MARGIN-BOTTOM: 0em } ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: text/css; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.microsoft.com/library/shared/comments/css/ie5.css BODY { FONT-FAMILY: verdana } TABLE.clsComment { FONT-FAMILY: verdana } TABLE.clsNavLinks A { FONT-WEIGHT: bold; COLOR: #003399; TEXT-DECORATION: none } TABLE.clsComment A { FONT-WEIGHT: bold; COLOR: #003399; TEXT-DECORATION: none } TABLE.clsTeasers A { FONT-WEIGHT: bold; COLOR: #003399; TEXT-DECORATION: none } TABLE.clsNavLinks TD { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: x-small; = PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BORDER-BOTTOM: #000000 1px solid; = FONT-FAMILY: verdana } TABLE.clsNavLinks TD TD { BORDER-RIGHT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; PADDING-LEFT: = 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-TOP: 0px; = BORDER-BOTTOM: 0px } DIV.clsError { FONT-SIZE: 68% } TABLE DIV.clsContainer { BORDER-TOP: #ffffff 1px solid; FONT-SIZE: 68%; PADDING-BOTTOM: 10px; = WIDTH: 100%; PADDING-TOP: 10px; POSITION: relative; BACKGROUND-COLOR: = #cccccc } TABLE TABLE DIV.clsContainer { BORDER-TOP: #cccccc 1px solid; BACKGROUND-COLOR: #ffffff } TD.clsHDN TABLE { DISPLAY: none } SPAN.clsRespond { PADDING-RIGHT: 10px; WIDTH: 50%; TEXT-ALIGN: right } SPAN.clsSig { WIDTH: 49% } SPAN.clsToggle { LEFT: 2px; POSITION: absolute; TOP: 0.65em } ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.microsoft.com/library/toolbar/toolbar.js var RTL =3D false; var scFlag =3D false; var scrollcount =3D 0; if (document.dir =3D=3D 'rtl') RTL =3D true; var Strict_Compat =3D false; var ToolBar_Supported =3D false; var Frame_Supported =3D false; var DoInstrumentation =3D false; var doImage =3D doImage; var TType =3D TType; if (navigator.userAgent.indexOf("MSIE") !=3D -1 &&=20 navigator.userAgent.indexOf("Windows") !=3D -1 &&=20 navigator.appVersion.substring(0,1) > 3) { ToolBar_Supported =3D true; if(!RTL){ if (document.compatMode =3D=3D "CSS1Compat") { //alert("strict!"); Strict_Compat =3D true; } }=09 } if(doImage =3D=3D null) { var a=3D new Array(); a[0] =3D prepTrackingString(window.location.hostname,7); if (TType =3D=3D null) {=09 a[1] =3D prepTrackingString('PV',8); } else { a[1] =3D prepTrackingString(TType,8); } a[2] =3D prepTrackingString(window.location.pathname,0); if( '' !=3D window.document.referrer) { a[a.length] =3D prepTrackingString(window.document.referrer,5); } =09 if (navigator.userAgent.indexOf("SunOS") =3D=3D -1 && = navigator.userAgent.indexOf("Linux") =3D=3D -1) { buildIMG(a); } }=09 if (ToolBar_Supported) { =09 var newLineChar =3D String.fromCharCode(10); var char34 =3D String.fromCharCode(34); var LastMSMenu =3D ""; var LastICPMenu =3D ""; var CurICPMenu =3D ""; var IsMSMenu =3D false; var IsMenuDropDown =3D true; var HTMLStr; var FooterStr; var TBLStr; var x =3D 0; var y =3D 0; var x2 =3D 0; var y2 =3D 0; var x3 =3D 0; var MSMenuWidth; var ToolbarMinWidth; var ToolbarMenu; var ToolbarBGColor; var ToolbarLoaded =3D false; var aDefMSColor =3D new Array(3); var aDefICPColor =3D new Array(3); var aCurMSColor =3D new Array(3); var aCurICPColor =3D new Array(3); var MSFont; var ICPFont; var MSFTFont; var ICPFTFont; var MaxMenu =3D 30; var TotalMenu =3D 0; var arrMenuInfo =3D new Array(30); var bFstICPTBMenu =3D true; var bFstICPFTMenu =3D true; =09 // Output style sheet and toolbar ID document.write(""); // Build Footer template if ( !RTL ){ FooterStr =3D "" + "" + "" + "
 
" + "" + "" + "
"; }else if(RTL){ // Shailr - Not sure if I need this code yet.=20 // RTL Correction: Check if or have the dir=3D"rtl" = attribute var isRTL =3D false; var isIE5 =3D navigator.appVersion.indexOf("MSIE 4") =3D=3D -1; if (isIE5) { if (document.body.dir =3D=3D 'rtl' || document.dir =3D=3D 'rtl') isRTL =3D true; } else // test RTL in IE4 { var ht =3D document.body.outerHTML; ht =3D ht.substring(1, ht.indexOf(">")).toLowerCase(); //if (ht.indexOf("dir=3Drtl") > -1) isRTL =3D true; if ((ht.indexOf("iedir=3Drtl") > -1) || (ht.indexOf("dir=3Drtl") > = -1)) isRTL =3D true; } // End of RTL Correction. =09 // MNP1 addition - Build Footer template=20 FooterStr =3D "" + "" + "" + "
 
" + "" + "" + "
"; //end of MNP1 addition //isRTL =3D true; } =09 // Build toolbar template =09 HTMLStr =3D "
"; HTMLStr +=3D "
"; //HTMLStr +=3D "
"; HTMLStr +=3D "
"; }else if(RTL){ TBLStr =3D ""; //HTMLStr =3D "
"; //HTMLStr +=3D "
"; HTMLStr +=3D "
"= ; HTMLStr +=3D "
"; // RTL Correction: added: dir=3D'ltr' (forcing LTR!), added:   = (prevents last menu problem) HTMLStr +=3D "
 
"; HTMLStr +=3D "
"; } if(!RTL){ HTMLStr +=3D "
"; HTMLStr +=3D "
"; HTMLStr +=3D "
"; }else if(RTL){ HTMLStr +=3D "
" ; // RTL Correction: = was left:250 HTMLStr +=3D "
"= ; HTMLStr +=3D "
"; HTMLStr +=3D "
"; }=09 if(!RTL){ HTMLStr +=3D "
"; // zIndex Correction HTMLStr +=3D "
"; HTMLStr +=3D "
"; HTMLStr +=3D "
"; }else if (RTL){ HTMLStr +=3D "
"; // RTL Correction: added: dir=3D'rtl' HTMLStr +=3D "
"; HTMLStr +=3D "
"; HTMLStr +=3D ""; HTMLStr +=3D ""; HTMLStr +=3D ""; } HTMLStr +=3D "" +=20 "
"; =09 =09 // Define event handlers if(!RTL){ window.onresize =3D resizeToolbar; window.onscroll =3D scrollbaroptions; }=09 // Intialize global variables ToolbarBGColor =3D "white"; // toolbar background color =09 if (Strict_Compat) { MSFont =3D "bold x-small Arial"; ICPFont =3D "bold x-small Verdana"; } else { if( !RTL ){ MSFont =3D "xx-small Verdana"; ICPFont =3D "bold xx-small Verdana"; }else if(RTL){ MSFont =3D "x-small Arial"; // RTL Correction: (was Verdana) ICPFont =3D "bold x-small Arial"; // RTL Correction: (was Verdana) //MNP1 RTL revision MSFTFont =3D "11px Arial"; ICPFTFont =3D "bold 11px Arial" //end }=09 } =09 aDefMSColor[0] =3D aCurMSColor[0] =3D "black"; // bgcolor; aDefMSColor[1] =3D aCurMSColor[1] =3D "white"; // text font color aDefMSColor[2] =3D aCurMSColor[2] =3D "red"; // mouseover font color =09 aDefICPColor[0] =3D aCurICPColor[0] =3D "#6699CC"; // bgcolor; aDefICPColor[1] =3D aCurICPColor[1] =3D "white"; // text font color aDefICPColor[2] =3D aCurICPColor[2] =3D "red"; // mouseover font color } // The hard-coded numbers in functions - drawToolbar() & resizeToolbar() // correspond to the dimension of the four gif files: // ICP_BANNER: 60h x 250w // ADS_BANNER: 40h x 200w // MSC_BANNER: 40h x 112w // Curve: 20h x 18w function drawFooter(sLastUpdated, position) { if(!RTL){=09 var re =3D ""; var sUpdatedDate =3D ""; if (ToolbarBGColor.toUpperCase() =3D=3D "WHITE" || = ToolbarBGColor.toUpperCase() =3D=3D "#FFFFFF") { while (FooterStr.indexOf(re) !=3D -1) FooterStr =3D FooterStr.replace(re, "000000"); } else { while (FooterStr.indexOf(re) !=3D -1) FooterStr =3D FooterStr.replace(re, aDefICPColor[1]); } var re2 =3D ""; while (FooterStr.indexOf(re2) !=3D -1) FooterStr =3D FooterStr.replace(re2, aDefICPColor[2]); }else if (RTL){ var re =3D //g; var sUpdatedDate =3D ""; if (ToolbarBGColor.toUpperCase() =3D=3D "WHITE" || = ToolbarBGColor.toUpperCase() =3D=3D "#FFFFFF") FooterStr =3D FooterStr.replace(re, "000000"); else FooterStr =3D FooterStr.replace(re, aDefICPColor[1]); var re2 =3D //g; FooterStr =3D FooterStr.replace(re2, aDefICPColor[2]); } sUpdatedDate =3D "" if (typeof sLastUpdated !=3D "undefined") sUpdatedDate +=3D sLastUpdated; sUpdatedDate +=3D "";=20 FooterStr =3D FooterStr.replace("", = sUpdatedDate); document.body.innerHTML +=3D FooterStr; idFooterRow1.style.backgroundColor =3D aDefICPColor[0]; idFooterRow2.style.backgroundColor =3D ToolbarBGColor;=09 =09 if (typeof sLastUpdated =3D=3D "undefined") idFooter1.style.display =3D "none"; if (typeof position !=3D "undefined") idPosition.width =3D position;=09 } function drawToolbar() { HTMLStr +=3D "
"; document.write(HTMLStr); ToolbarLoaded =3D true; MSMenuWidth =3D Math.max(idMSMenuPane.offsetWidth, (200+112)); ToolbarMinWidth =3D (250+18) + MSMenuWidth; idToolbar.style.backgroundColor =3D ToolbarBGColor; idMSMenuPane.style.backgroundColor =3D aDefMSColor[0]; idICPMenuPane.style.backgroundColor =3D aDefICPColor[0]; if (RTL){ idMSMenuPane.style.color =3D aDefMSColor[1]; idICPMenuPane.style.color =3D aDefICPColor[1]; } resizeToolbar(); for (i =3D 0; i < TotalMenu; i++)=20 { thisMenu =3D document.all(arrMenuInfo[i].IDStr); if (thisMenu !=3D null) { if (arrMenuInfo[i].IDStr =3D=3D LastMSMenu && arrMenuInfo[i].type = =3D=3D "R") { //Last MSMenu has to be absolute width arrMenuInfo[i].type =3D "A"; arrMenuInfo[i].unit =3D 200; } if (arrMenuInfo[i].type =3D=3D "A") if(!RTL){ thisMenu.style.width =3D arrMenuInfo[i].unit + 'px'; }else{ thisMenu.style.width =3D arrMenuInfo[i].unit; }=09 else=20 thisMenu.style.width =3D Math.round(arrMenuInfo[i].width * = arrMenuInfo[i].unit) + 'em'; } } } function resizeToolbar() { scFlag =3D false; scrollcount =3D 0; if (ToolBar_Supported =3D=3D false) return; w =3D Math.max(ToolbarMinWidth, document.body.clientWidth) - = ToolbarMinWidth; if ( !RTL ){ if (document.all("idMSMenuCurve")) {=09 idMSMenuCurve.style.left =3D (250+w) + 'px'; idMSMenuPane.style.left =3D (250+w+18) + 'px'; idMSMenuPane.style.width =3D MSMenuWidth + 'px'; idADSBanner.style.left =3D (w+18) + 'px'; idMSCBanner.style.left =3D (w+18+200) + 'px'; idMSCBanner.style.width =3D (MSMenuWidth - 200) + 'px'; idICPMenuPane.style.width =3D ToolbarMinWidth + w + 'px'; } }else if( RTL ){ idMSMenuCurve.style.left =3D MSMenuWidth; // RTL Correction: was = (250+w); idMSMenuPane.style.left =3D 0; // RTL Correction: was (250+w+18); idMSMenuPane.style.width =3D MSMenuWidth; idADSBanner.style.left =3D 112; // RTL Correction: was (w+18); idMSCBanner.style.left =3D 0; // RTL Correction: was (w+18+200); idMSCBanner.style.width =3D (MSMenuWidth - 200); idICPMenuPane.style.width =3D ToolbarMinWidth + w; idICPBanner.style.left =3D MSMenuWidth + 18 + w; // RTL Correction: = line added for ICPBanner positioning } =09 } function setToolbarBGColor(color) {=09 ToolbarBGColor =3D color; if (ToolbarLoaded =3D=3D true) idToolbar.style.backgroundColor =3D ToolbarBGColor; }=09 function setBannerColor(bannerColor, bgColor, fontColor, mouseoverColor) { if (bannerColor.toUpperCase() !=3D "WHITE" && bannerColor.toUpperCase() = !=3D "FFFFFF") bgColor =3D bannerColor; setToolbarBGColor(bannerColor); setDefaultICPMenuColor(bgColor, fontColor, mouseoverColor); } function setMSMenuFont(sFont) {=09 MSFont =3D sFont; } function setICPMenuFont(sFont) {=09 ICPFont =3D sFont; } function setDefaultMSMenuColor(bgColor, fontColor, mouseoverColor) {=09 if (bgColor !=3D "") aDefMSColor[0] =3D bgColor; if (fontColor !=3D "") aDefMSColor[1] =3D fontColor; if (mouseoverColor !=3D "") aDefMSColor[2] =3D mouseoverColor; } function setDefaultICPMenuColor(bgColor, fontColor, mouseoverColor) {=09 if (bgColor !=3D "") aDefICPColor[0] =3D bgColor; if (fontColor !=3D "") aDefICPColor[1] =3D fontColor; if (mouseoverColor !=3D "") aDefICPColor[2] =3D mouseoverColor; } function setICPMenuColor(MenuIDStr, bgColor, fontColor, mouseoverColor) {=09 if (ToolbarLoaded =3D=3D false) return; // Reset previous ICP Menu color if any if (CurICPMenu !=3D "") { PrevID =3D CurICPMenu.substring(4); CurICPMenu =3D ""; setICPMenuColor(PrevID, aDefICPColor[0], aDefICPColor[1], = aDefICPColor[2]); } var id =3D "AM_" + "ICP_" + MenuIDStr; var thisMenu =3D document.all(id); if (thisMenu !=3D null) { CurICPMenu =3D "ICP_" + MenuIDStr; aCurICPColor[0] =3D bgColor; aCurICPColor[1] =3D fontColor; aCurICPColor[2] =3D mouseoverColor; // Change menu color if (bgColor !=3D "") thisMenu.style.backgroundColor =3D bgColor; if (fontColor !=3D "") thisMenu.style.color =3D fontColor; // Change subMenu color id =3D "ICP_" + MenuIDStr; thisMenu =3D document.all(id); if (thisMenu !=3D null) { if (bgColor !=3D "") thisMenu.style.backgroundColor =3D bgColor; =09 if (fontColor !=3D "") { i =3D 0; id =3D "AS_" + "ICP_" + MenuIDStr; thisMenu =3D document.all.item(id,i); while (thisMenu !=3D null) { thisMenu.style.color =3D fontColor; i +=3D 1; thisMenu =3D document.all.item(id,i); } } } } } function setAds(Gif,Url,AltStr) { = setBanner(Gif,Url,AltStr,"","")= ; } function setICPBanner(Gif,Url,AltStr) {=09 if(RTL){ if (Gif.indexOf("training_banner_training.gif") > 0){ Gif =3D "training_banner_training.gif"; } }=09 = setBanner(Gif,Url,AltStr,"","")= ; } function setMSBanner(Gif,Url,AltStr) { tempGif =3D "/library/toolbar/images/" + Gif; = setBanner(tempGif,Url,AltStr,"","", TBLStr); }=09 if (addICPMenu.arguments.length > 4) TargetStr =3D addICPMenu.arguments[4]; else TargetStr =3D "_top"; tempID =3D "ICP_" + MenuIDStr; addMenu(tempID, MenuDisplayStr, MenuHelpStr, MenuURLStr, TargetStr, = true);=20 if (RTL){ LastICPMenu =3D tempID; }else{ bFstICPTBMenu=3Dfalse; =09 } } function addMSMenu(MenuIDStr, MenuDisplayStr, MenuHelpStr, MenuURLStr) {=09 TargetStr =3D "_top"; tempID =3D "MS_" + MenuIDStr; //alert(" TempID: " + tempID + " MenuDisplayString: " + MenuDisplayStr = + " Menu Help String :" + MenuHelpStr + " MenuUrl:" + MenuURLStr + " = Target:" + TargetStr); addMenu(tempID, MenuDisplayStr, MenuHelpStr, MenuURLStr, TargetStr, = false);=20 LastMSMenu =3D tempID; } function addMenu(MenuIDStr, MenuDisplayStr, MenuHelpStr, MenuURLStr, = TargetStr, bICPMenu) { cFont =3D bICPMenu? ICPFont : MSFont; cColor0 =3D bICPMenu? aDefICPColor[0] : aDefMSColor[0]; cColor1 =3D bICPMenu? aDefICPColor[1] : aDefMSColor[1]; cColor2 =3D bICPMenu? aDefICPColor[2] : aDefMSColor[2]; if (RTL){ cStyle =3D "font:" + cFont + ";background-color:" + cColor0 + = ";color:" + cColor1 + ";"; if (MenuHelpStr =3D=3D "") MenuHelpStr =3D MenuDisplayStr; // Shailr. = This line should have been before the line MenuStr =3D newLineChar; but = I am tryig to avoid another if..else } tagStr =3D bICPMenu? "" : = ""; =09 MenuStr =3D newLineChar; if (!RTL){ if ((bICPMenu =3D=3D false && LastMSMenu !=3D "") || (bICPMenu =3D=3D = true && bFstICPTBMenu=3D=3Dfalse)) MenuStr +=3D "" + " " + MenuDisplayStr + " "; MenuStr +=3D tagStr; } if ( RTL ){ if (bICPMenu)=20 MenuStr +=3D ""; else MenuStr +=3D ""; MenuStr +=3D tagStr; } HTMLStr =3D HTMLStr.replace(tagStr, MenuStr);=09 setSubMenuWidth(MenuIDStr,"default",0); } function addICPSubMenu(MenuIDStr, SubMenuStr, SubMenuURLStr) {=09 if (addICPSubMenu.arguments.length > 3) TargetStr =3D addICPSubMenu.arguments[3]; else TargetStr =3D "_top"; tempID =3D "ICP_" + MenuIDStr; addSubMenu(tempID,SubMenuStr,SubMenuURLStr,TargetStr,true);=20 } function addMSSubMenu(MenuIDStr, SubMenuStr, SubMenuURLStr) {=09 TargetStr =3D "_top"; tempID =3D "MS_" + MenuIDStr; //alert("TempID: " + tempID + "\nSubMenuStr: " + SubMenuStr + "\n = SubMenuURLStr: " + SubMenuURLStr + "\n TargetStr: " + TargetStr); addSubMenu(tempID,SubMenuStr,SubMenuURLStr,TargetStr,false);=20 } function addSubMenu(MenuIDStr, SubMenuStr, SubMenuURLStr, TargetStr, = bICPMenu) { cFont =3D bICPMenu? ICPFont : MSFont; cColor0 =3D bICPMenu? aDefICPColor[0] : aDefMSColor[0]; cColor1 =3D bICPMenu? aDefICPColor[1] : aDefMSColor[1]; cColor2 =3D bICPMenu? aDefICPColor[2] : aDefMSColor[2]; =09 var MenuPos =3D MenuIDStr.toUpperCase().indexOf("MENU"); if (MenuPos =3D=3D -1) { MenuPos =3D MenuIDStr.length; } InstrumentStr =3D MenuIDStr.substring(0 , MenuPos) + "|" + SubMenuStr; URLStr =3D formatURL(SubMenuURLStr, InstrumentStr); var LookUpTag =3D ""; var sPos =3D HTMLStr.indexOf(LookUpTag); if (sPos <=3D 0) { HTMLStr +=3D newLineChar + newLineChar + ""; =09 if (Frame_Supported =3D=3D false || bICPMenu =3D=3D false) if (!RTL){ HTMLStr +=3D "
"; HTMLStr +=3D "
"; } else if (RTL){ HTMLStr +=3D "
"; HTMLStr +=3D "
"; }=09 } TempStr =3D newLineChar + "" + " " + SubMenuStr + "
" + LookUpTag; if (sPos <=3D 0) HTMLStr +=3D TempStr + "
"; else HTMLStr =3D HTMLStr.replace(LookUpTag, TempStr);=09 updateSubMenuWidth(MenuIDStr);=09 } function addICPSubMenuLine(MenuIDStr) {=09 tempID =3D "ICP_" + MenuIDStr; addSubMenuLine(tempID,true); } function addMSSubMenuLine(MenuIDStr) {=09 tempID =3D "MS_" + MenuIDStr; addSubMenuLine(tempID,false); } function addSubMenuLine(MenuIDStr, bICPMenu) { var LookUpTag =3D ""; var sPos =3D HTMLStr.indexOf(LookUpTag); if (sPos > 0) { cColor =3D bICPMenu? aDefICPColor[1] : aDefMSColor[1]; TempStr =3D newLineChar + "
" + LookUpTag; HTMLStr =3D HTMLStr.replace(LookUpTag, TempStr); } } function addMSFooterMenu(MenuDisplayStr, MenuURLStr) { addFooterMenu(MenuDisplayStr, MenuURLStr, false) } function addICPFooterMenu(MenuDisplayStr, MenuURLStr) { addFooterMenu(MenuDisplayStr, MenuURLStr, true) bFstICPFTMenu =3D false; } function addFooterMenu(MenuDisplayStr, MenuURLStr, bICPMenu) { cFont =3D bICPMenu? ICPFont : MSFont; cColor1 =3D aDefICPColor[1]; cColor2 =3D aDefICPColor[2]; tagStr =3D bICPMenu? "" : = ""; MenuStr =3D ""; if ((bICPMenu) && bFstICPFTMenu =3D=3D false) MenuStr +=3D ""; else { MenuStr +=3D " " + ";'"; MenuStr +=3D " HREF=3D'" + MenuURLStr + "'"; =09 MenuStr +=3D " onmouseout=3D" + char34 + "this.style.color =3D '"; if (bICPMenu)=20 MenuStr +=3D cColor1; else MenuStr +=3D ""; MenuStr +=3D "'" + char34 + " onmouseover=3D" + char34 + = "this.style.color =3D '" =09 if (bICPMenu) MenuStr +=3D cColor2 else MenuStr +=3D ""; MenuStr +=3D "'" + char34 + ">" + MenuDisplayStr + " ";=09 } MenuStr +=3D tagStr; =09 FooterStr =3D FooterStr.replace(tagStr, MenuStr);=09 } function mouseMenu(id, MenuIDStr)=20 { IsMSMenu =3D (MenuIDStr.toUpperCase().indexOf("MS_") !=3D -1); IsMouseout =3D (id.toUpperCase().indexOf("OUT") !=3D -1); if (IsMouseout) { color =3D IsMSMenu? aDefMSColor[1] : aDefICPColor[1]; if (MenuIDStr =3D=3D CurICPMenu && aCurICPColor[1] !=3D "")=20 color =3D aCurICPColor[1]; } else { color =3D IsMSMenu? aDefMSColor[2] : aDefICPColor[2]; if (MenuIDStr =3D=3D CurICPMenu && aCurICPColor[2] !=3D "")=20 color =3D aCurICPColor[2]; } window.event.srcElement.style.color =3D color; } function doMenu(MenuIDStr)=20 { var thisMenu =3D document.all(MenuIDStr); if (ToolbarMenu =3D=3D null || thisMenu =3D=3D null || thisMenu =3D=3D = ToolbarMenu)=20 { window.event.cancelBubble =3D true; return false; } // Reset dropdown menu window.event.cancelBubble =3D true; ToolbarMenu.style.display =3D "none"; showElement("SELECT"); showElement("OBJECT"); ToolbarMenu =3D thisMenu; IsMSMenu =3D (MenuIDStr.toUpperCase().indexOf("MS_") !=3D -1); // Set dropdown menu display position x =3D window.event.srcElement.offsetLeft + window.event.srcElement.offsetParent.offsetLeft; if (RTL){ // RTL correction: var ICPstart =3D 0; if (!IsMSMenu) { if (isIE5) ICPstart =3D = window.event.srcElement.offsetParent.offsetParent.offsetLeft; else // for IE4 we must use... ICPstart =3D = window.event.srcElement.offsetParent.offsetParent.offsetParent.offsetPare= nt.offsetWidth - window.event.srcElement.offsetParent.offsetParent.offsetWidth; x +=3D ICPstart; } x -=3D thisMenu.style.posWidth; x +=3D IsMSMenu ? 8 : -2; if (x < 0) x =3D 0; // End of RTL Correction =09 } =20 if (MenuIDStr =3D=3D LastMSMenu){=20 if (!RTL){ x +=3D (window.event.srcElement.offsetWidth - = thisMenu.style.posWidth); }else if (RTL){ if (x < 0) x =3D 0; }=09 } x2 =3D x + window.event.srcElement.offsetWidth; y =3D (IsMSMenu)?=20 (idRow1.offsetHeight) : (idRow1.offsetHeight + idRow2.offsetHeight + idRow3.offsetHeight); if (RTL){ // Get main menu width // RTL Correction: if (IsMSMenu) x2 =3D window.event.srcElement.offsetLeft - = window.event.srcElement.offsetWidth; else x2 =3D window.event.srcElement.offsetParent.offsetLeft + ICPstart; // End of RTL Correction. // Get dropdown menu width x3 =3D x + 160; for (i =3D 0; i < TotalMenu; i++){ if (arrMenuInfo[i].IDStr =3D=3D MenuIDStr) { x3 =3D x+ arrMenuInfo[i].unit; break; } } =09 } =20 =20 thisMenu.style.top =3D y; thisMenu.style.left =3D x; thisMenu.style.clip =3D "rect(0 0 0 0)"; thisMenu.style.display =3D "block"; thisMenu.style.zIndex =3D 102; // delay 2 millsecond to allow the value of ToolbarMenu.offsetHeight be = set window.setTimeout("showMenu()", 2); return true; } function showMenu()=20 { if (ToolbarMenu !=3D null)=20 {=20 IsMenuDropDown =3D (Frame_Supported && IsMSMenu =3D=3D false)? false : = true; if (IsMenuDropDown =3D=3D false) { y =3D (y - ToolbarMenu.offsetHeight - idRow3.offsetHeight); if (y < 0) y =3D 0; ToolbarMenu.style.top =3D y; } y2 =3D y + ToolbarMenu.offsetHeight; ToolbarMenu.style.clip =3D "rect(auto auto auto auto)"; hideElement("SELECT"); hideElement("OBJECT"); if (!RTL) x2 =3D x + ToolbarMenu.offsetWidth; hideElement("IFRAME"); //FRANKLO } } function hideMenu() { if (ToolbarMenu !=3D null && ToolbarMenu !=3D StartMenu)=20 { // Don't hide the menu if the mouse move between the menu and submenus if (!RTL){ cY =3D event.clientY + document.body.scrollTop; cX =3D event.clientX;=20 if (document.body.offsetWidth > x && scFlag) { cX =3D x + 9; } if ( (cX >=3D (x+5) && cX<=3Dx2) && ((IsMenuDropDown =3D=3D true && cY > (y-10) && cY <=3D y2) || (IsMenuDropDown =3D=3D false && cY >=3D y && cY <=3D (y2+10)) = )) { window.event.cancelBubble =3D true; return;=20 } }else if(RTL){ var cX =3D event.clientX //+ document.body.scrollLeft; // RTL correction: considers left scrollbar width! if (isRTL) cX -=3D 16; var cY =3D event.clientY + document.body.scrollTop; var bHideMenu =3D true; if (cX > document.body.scrollLeft && document.body.scrollLeft > 1){ cX =3D x3; //x + 9; } if (IsMenuDropDown =3D=3D true) {// RTL Correction: cY-8 instead of cY if ( cY-8 >=3D (y - idRow3.offsetHeight) && cY < y) {// RTL Correction: [x,x2] --> [x2,x3] if (cX >=3D (x2+5) && cX <=3D x3) bHideMenu =3D false; } else if (cY >=3D y && cY <=3D y2) { if (cX > (x+5) && cX <=3D x3) bHideMenu =3D false; } } else { if (cY >=3D y2 && cY < (y2 + idRow3.offsetHeight)) {// RTL Correction: [x,x2] --> [x2,x3] if (cX >=3D (x2+5) && cX <=3D x3) bHideMenu =3D false; } else if (cY >=3D y && cY <=3D y2) { if (cX > (x+5) && cX <=3D x3) bHideMenu =3D false; } } if (! bHideMenu)=20 { window.event.cancelBubble =3D true; return;=20 } }=09 ToolbarMenu.style.display =3D "none"; ToolbarMenu =3D StartMenu; window.event.cancelBubble =3D true; showElement("SELECT"); showElement("OBJECT"); if(!RTL){ showElement("IFRAME"); //FRANKLO }=09 } } function hideElement(elmID) { for (i =3D 0; i < document.all.tags(elmID).length; i++) { obj =3D document.all.tags(elmID)[i]; if (! obj || ! obj.offsetParent) continue; // Find the element's offsetTop and offsetLeft relative to the BODY = tag. objLeft =3D obj.offsetLeft; objTop =3D obj.offsetTop; objParent =3D obj.offsetParent; while (objParent.tagName.toUpperCase() !=3D "BODY") { objLeft +=3D objParent.offsetLeft; objTop +=3D objParent.offsetTop; objParent =3D objParent.offsetParent; } // Adjust the element's offsetTop relative to the dropdown menu objTop =3D objTop - y; if (x > (objLeft + obj.offsetWidth) || objLeft > (x + = ToolbarMenu.offsetWidth)) ; else if (objTop > ToolbarMenu.offsetHeight) ; else if (IsMSMenu && (y + ToolbarMenu.offsetHeight) <=3D 80) ; else obj.style.visibility =3D "hidden"; } } function showElement(elmID) { for (i =3D 0; i < document.all.tags(elmID).length; i++) { obj =3D document.all.tags(elmID)[i]; if (! obj || ! obj.offsetParent) continue; obj.style.visibility =3D ""; } } function formatURL(URLStr, InstrumentStr) { var tempStr =3D URLStr; if (DoInstrumentation && URLStr !=3D "" ) { var ParamPos1 =3D URLStr.indexOf("?"); var ParamPos2 =3D URLStr.lastIndexOf("?"); var ParamPos3 =3D URLStr.toLowerCase().indexOf("target=3D"); var ParamPos4 =3D URLStr.indexOf("#"); var Bookmark =3D ""; var URL =3D URLStr; if (ParamPos4 >=3D 0) { URL =3D URLStr.substr(0, ParamPos4); Bookmark =3D URLStr.substr(ParamPos4); } =09 if (ParamPos1 =3D=3D -1) tempStr =3D "?MSCOMTB=3D"; else if (ParamPos1 =3D=3D ParamPos2 && ParamPos3 =3D=3D -1)=09 tempStr =3D "&MSCOMTB=3D"; else if (ParamPos1 =3D=3D ParamPos2 && ParamPos3 !=3D -1)=09 tempStr =3D "?MSCOMTB=3D"; else if (ParamPos1 < ParamPos2) tempStr =3D "&MSCOMTB=3D"; tempStr =3D URL + tempStr + InstrumentStr.replace(" ","%20") + = Bookmark; } return tempStr; } function prepTrackingString(ts, type) { var rArray; var rString; var pName =3D ''; if (0 =3D=3D type) { pName =3D 'p=3D'; rString =3D ts.substring(1); rArray =3D rString.split('/'); } if (1 =3D=3D type) { pName =3D 'qs=3D'; rString =3D ts.substring(1); rArray =3D rString.split('&'); =09 } if (2 =3D=3D type) { pName =3D 'f=3D'; rString =3D escape(ts); return pName + rString; } if (3 =3D=3D type) { pName =3D 'tPage=3D'; rString =3D escape(ts); return pName+rString; } if (4 =3D=3D type) { pName =3D 'sPage=3D'; rString =3D escape(ts); return pName + rString; } if (5 =3D=3D type) { pName =3D 'r=3D'; rString =3D escape(ts); return pName + rString; } if (6 =3D=3D type) { pName =3D 'MSID=3D'; rString =3D escape(ts); return pName + rString; } if (7 =3D=3D type) { pName =3D 'source=3D'; rString =3D ts.toLowerCase(); if(rString.indexOf("microsoft.com") !=3D -1) { rString =3D rString.substring(0,rString.indexOf("microsoft.com")); if('' =3D=3D rString) { rString =3D "www"; }=09 else { rString =3D rString.substring(0,rString.length -1); } } return pName + rString; } if (8 =3D=3D type) { pName =3D 'TYPE=3D'; rString =3D escape(ts); return pName + rString; } rString =3D ''; if(null !=3D rArray) { if(0 =3D=3D type) { for( j=3D0; j < rArray.length - 1; j++) {=09 rString +=3D rArray[j] + '_'; =20 }=20 } else { for( j=3D0; j < rArray.length ; j++) { rString +=3D rArray[j] + '_'; =20 }=20 } } rString =3D rString.substring(0, rString.length - 1); =09 return pName + rString; } function buildIMG(pArr) { var TG =3D '
'; if (!RTL){ document.writeln(TG); return; }else if (RTL){ document.write(TG); }=09 } function setToolbarLocale(toolbarLocale) { document.writeln("<" + "script language=3D'JavaScript' = src=3D'/library/toolbar/loc/global-" + toolbarLocale + ".js' = type=3D'text/javascript'>"); return; } function scrollbaroptions(){ scrollcount ++; if ( scrollcount < 3 ) { scFlag =3D true; }else{ scrollcount =3D 0; scFlag =3D false; }=09 } ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: multipart/alternative; boundary="----=_NextPart_001_0018_01C2CDED.91F30000" ------=_NextPart_001_0018_01C2CDED.91F30000 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.microsoft.com/technet/treeview/default.asp?url=/TechNet/prodtechnol/windows2000serv/support/spdeploy.asp =EF=BB=BF Microsoft TechNet ------=_NextPart_001_0018_01C2CDED.91F30000 Content-Type: text/xml; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.microsoft.com/library/shared/deeptree/asp/toolbar.asp?tbcfg=/technet/treeview/toolbarconfig.xml =EF=BB=BF MSDN Online - Default Home Page
"; if (LastMSMenu !=3D "") MenuStr +=3D "|";=20 MenuStr +=3D " "; } MenuStr +=3D "" + " " + MenuDisplayStr + " "; if (bICPMenu)=20 MenuStr +=3D " |
3D""  =20   All Products  =   |     Support  =   |     Search    = |     microsoft.com = Home   =20
 3D""=20
   TechNet Home       = Downloads  =  =20    Site Map  =  =20    TechNet = Worldwide   =20
------=_NextPart_001_0018_01C2CDED.91F30000-- ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.microsoft.com/library/shared/searchtab/graphics/1pix.gif R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAQAICRAEAOw== ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: text/css; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.microsoft.com/library/shared/common/css/ie4.css BODY { MARGIN: 0px; FONT-FAMILY: verdana,arial,helvetica } TABLE.clsContainer { HEIGHT: 78% } A:link { COLOR: #003399 } A:visited { COLOR: #660099 } A:hover { COLOR: #ff3300 } H1 { FONT-SIZE: 165%; MARGIN: 0px } H2 { MARGIN-TOP: 1em; FONT-SIZE: 125%; MARGIN-BOTTOM: 0px } H3 { FONT-SIZE: 115%; MARGIN-BOTTOM: 0px } H4 { FONT-SIZE: 100%; MARGIN-BOTTOM: 0px } H5 { FONT-SIZE: 100%; MARGIN-BOTTOM: 0px } H6 { FONT-SIZE: 100%; MARGIN-BOTTOM: 0px } DIV.clsDocBody { MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px } TD { FONT-SIZE: 68% } TH { FONT-SIZE: 68% } P { MARGIN-TOP: 0.5em; MARGIN-BOTTOM: 1em; LINE-HEIGHT: 1.5em } PRE { PADDING-RIGHT: 5pt; MARGIN-TOP: 1em; PADDING-LEFT: 5pt; BACKGROUND: = #eeeeee; MARGIN-BOTTOM: 1em; PADDING-BOTTOM: 5pt; MARGIN-LEFT: 0px; = PADDING-TOP: 5pt } SPAN.db PRE { BACKGROUND: #eeeeee; PADDING-BOTTOM: 0pt; PADDING-TOP: 0pt } SPAN.ci PRE { BACKGROUND: #eeeeee; PADDING-BOTTOM: 0pt; PADDING-TOP: 0pt } SPAN.di PRE { BACKGROUND: #eeeeee; PADDING-BOTTOM: 0pt; PADDING-TOP: 0pt } PRE.clsCode { FONT-SIZE: 110%; FONT-FAMILY: 'courier new',courier,serif } CODE.clsText { FONT-SIZE: 110%; FONT-FAMILY: 'courier new',courier,serif } PRE.clsCCCode { FONT-SIZE: 120%; BACKGROUND: none transparent scroll repeat 0% 0%; = FONT-FAMILY: 'courier new',courier,serif } PRE.clsSyntax { FONT-SIZE: 100%; FONT-FAMILY: verdana,arial,helvetica,sans-serif } HR { COLOR: #cccccc; HEIGHT: 1px } UL { MARGIN-TOP: 10px; MARGIN-BOTTOM: 10px; MARGIN-LEFT: 25px } OL { MARGIN-TOP: 10px; MARGIN-BOTTOM: 10px; MARGIN-LEFT: 25px } UL LI { MARGIN-BOTTOM: 0.5em; LINE-HEIGHT: 1.5em } UL LI LI { LIST-STYLE-TYPE: disc } OL LI { MARGIN-BOTTOM: 0.7em } INPUT.clsButton { MARGIN-TOP: 10px; FONT-WEIGHT: bold; MARGIN-LEFT: 5px; COLOR: #ffffff; = BACKGROUND-COLOR: #6699cc } P.small { FONT-WEIGHT: normal; FONT-SIZE: 95%; LINE-HEIGHT: normal; FONT-STYLE: = normal; FONT-VARIANT: normal } P.smallWhite { FONT-WEIGHT: normal; FONT-SIZE: 95%; COLOR: #ffffff; LINE-HEIGHT: = normal; FONT-STYLE: normal; FONT-VARIANT: normal } P.author { FONT-WEIGHT: normal; FONT-SIZE: 95%; LINE-HEIGHT: normal; FONT-STYLE: = italic; FONT-VARIANT: normal } P.NoLeftMar { MARGIN-LEFT: -15px } A.small { FONT-WEIGHT: normal; FONT-SIZE: 95%; LINE-HEIGHT: normal; FONT-STYLE: = normal; FONT-VARIANT: normal; TEXT-DECORATION: underline } A.smallWhite { FONT-WEIGHT: normal; FONT-SIZE: 95%; COLOR: #ffffff; LINE-HEIGHT: = normal; FONT-STYLE: normal; FONT-VARIANT: normal; TEXT-DECORATION: = underline } .CODE { FONT-WEIGHT: normal } .CODE2 { FONT-WEIGHT: normal; BACKGROUND-COLOR: #cccccc } .DATE { COLOR: #999999 } .VRULE { BORDER-LEFT: #cccccc 1px solid } TITLE.open { FONT-WEIGHT: normal; FONT-SIZE: 95%; COLOR: #ffffff; LINE-HEIGHT: = normal; FONT-STYLE: normal; FONT-VARIANT: normal } TITLE.closed { FONT-WEIGHT: normal; FONT-SIZE: 95%; COLOR: #000000; LINE-HEIGHT: = normal; FONT-STYLE: normal; FONT-VARIANT: normal } TABLE.DATA { PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 5px; = PADDING-BOTTOM: 5px; BORDER-LEFT: #cccccc 1px solid; PADDING-TOP: 5px; = BORDER-COLLAPSE: collapse } TH.DATA { BORDER-RIGHT: #cccccc 1px solid; BORDER-BOTTOM: #cccccc 1px solid; = BACKGROUND-COLOR: #eeeeee } TD.DATA { BORDER-RIGHT: #cccccc 1px solid; FONT-WEIGHT: normal; BORDER-BOTTOM: = #cccccc 1px solid } TABLE.clsCCDCInfo { BACKGROUND-COLOR: #eeeeee } .LOCATION { FONT-WEIGHT: normal; FONT-SIZE: 24px; COLOR: #cccccc; LINE-HEIGHT: = normal; FONT-STYLE: normal; FONT-VARIANT: normal } .footer { FONT: bold xx-small Verdana } .footer:link { COLOR: #ffffff; TEXT-DECORATION: none } .footer:hover { COLOR: #ff3300 } DIV.artstyle { FONT-WEIGHT: normal; FONT-SIZE: 7pt; COLOR: #000000; LINE-HEIGHT: = normal; FONT-STYLE: normal; FONT-FAMILY: Verdana, Arial, Helvetica, = sans-serif } TABLE.clsStd TH { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; = VERTICAL-ALIGN: top; PADDING-TOP: 2px; BACKGROUND-COLOR: #ddd; = TEXT-ALIGN: left } TABLE.clsStd TD { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; = VERTICAL-ALIGN: top; PADDING-TOP: 2px; BACKGROUND-COLOR: #eee } P.clsRef { MARGIN-TOP: 12pt; FONT-WEIGHT: bold; MARGIN-BOTTOM: 0em } ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: text/css; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.microsoft.com/library/shared/comments/css/ie5.css BODY { FONT-FAMILY: verdana } TABLE.clsComment { FONT-FAMILY: verdana } TABLE.clsNavLinks A { FONT-WEIGHT: bold; COLOR: #003399; TEXT-DECORATION: none } TABLE.clsComment A { FONT-WEIGHT: bold; COLOR: #003399; TEXT-DECORATION: none } TABLE.clsTeasers A { FONT-WEIGHT: bold; COLOR: #003399; TEXT-DECORATION: none } TABLE.clsNavLinks TD { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: x-small; = PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BORDER-BOTTOM: #000000 1px solid; = FONT-FAMILY: verdana } TABLE.clsNavLinks TD TD { BORDER-RIGHT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; PADDING-LEFT: = 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-TOP: 0px; = BORDER-BOTTOM: 0px } DIV.clsError { FONT-SIZE: 68% } TABLE DIV.clsContainer { BORDER-TOP: #ffffff 1px solid; FONT-SIZE: 68%; PADDING-BOTTOM: 10px; = WIDTH: 100%; PADDING-TOP: 10px; POSITION: relative; BACKGROUND-COLOR: = #cccccc } TABLE TABLE DIV.clsContainer { BORDER-TOP: #cccccc 1px solid; BACKGROUND-COLOR: #ffffff } TD.clsHDN TABLE { DISPLAY: none } SPAN.clsRespond { PADDING-RIGHT: 10px; WIDTH: 50%; TEXT-ALIGN: right } SPAN.clsSig { WIDTH: 49% } SPAN.clsToggle { LEFT: 2px; POSITION: absolute; TOP: 0.65em } ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.microsoft.com/library/shared/searchtab/search.asp?stcfg=/technet/treeview/searchtabconfig.xml&dtcfg=/technet/treeview/deeptreeconfig.xml&url=/TechNet/prodtechnol/windows2000serv/support/spdeploy.asp?frame=true =EF=BB=BF MSDN Online - Default Home Page
=20
3D""=20
3D""=20 Search 3D""=20 Advanced=20 = Search
3D""=20
3D""=20 3D""=20
3D""=20 All=20 TechNet 3D""=20 Knowledge = Base 3D""=20
------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.microsoft.com/library/shared/deeptree/graphics/1pix.gif R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAQAICRAEAOw== ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.microsoft.com/library/shared/deeptree/graphics/movenext1.gif R0lGODlhFAAUAMQYAAAwkAApegAtiAY4m0putwAlbgAnc3+ZzGyJxBFBoC5Yq0httgAshQArgHqV yidSqWqIw1R2uwArfz9lskdstQAxlAs8nQAzmP///wAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA ABgALAAAAAAUABQAAAU1ICaOZGmeaKqubOu+cMxGiHMcEPEMFaBOCwJFMQAIGKyE5WJsBFxGScAA mxZkV5l2y+16SyEAOw== ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.microsoft.com/library/shared/deeptree/graphics/moveprevious1.gif R0lGODlhFAAUAMQZAAAvjgAmcR5LpXeSyQAthQArgU1xuAAylCxWq1V3uwE0mQArfwAylwAui4Ga zQg5nFR2uwAqfQApfAAndnCNxgc5nG+MxT1ksQAodv///wAAAAAAAAAAAAAAAAAAAAAAACH5BAEA ABkALAAAAAAUABQAAAU2YCaOZGmeaKqubOu+sDvEmUMZ8GAlyONChouAAWiwEILKAUAoLAoqxZIQ wQSuEwlty+16v90QADs= ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.microsoft.com/library/shared/deeptree/graphics/synctoc1.gif R0lGODlhQQAUAIABAAAzmf///yH5BAEAAAEALAAAAABBABQAAAJfjI+py+0Po5y02ouz3rz7jwDg uAAiyZyXyaIldppQG8QGq9bygd+7n6vxZgmb8IZ8JY/BYdHxM6qMiqmz+Vw2ptYk9gimlsTV37Kr a+5owDJ78nX5YHJo/Y7P6/f8RgEAOw== ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.microsoft.com/library/shared/deeptree/graphics/hidetoc1.gif R0lGODlhDwAUAIABAAAzmf///yH5BAEAAAEALAAAAAAPABQAAAIajI+py+0Po0QAnNowdtW+/lnb Mo7TiabqGhQAOw== ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.microsoft.com/library/shared/deeptree/asp/dtbar.asp?stcfg=/technet/treeview/searchtabconfig.xml&dtcfg=/technet/treeview/deeptreeconfig.xml&url=/TechNet/prodtechnol/windows2000serv/support/spdeploy.asp?frame=true Deeptree Controlbar =
------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: text/css; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.microsoft.com/library/shared/deeptree/css/deeptree.css BODY { FONT-SIZE: 70.5%; CURSOR: default; FONT-FAMILY: Verdana } .deeptree { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 4px; BEHAVIOR: = url(/library/shared/deeptree/htc/deeptree.htc); PADDING-TOP: 4px } SPAN { BORDER-RIGHT: #f1f1f1 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: = #f1f1f1 1px solid; DISPLAY: inline; PADDING-LEFT: 3px; PADDING-BOTTOM: = 2px; BORDER-LEFT: #f1f1f1 1px solid; PADDING-TOP: 2px; BORDER-BOTTOM: = #f1f1f1 1px solid; POSITION: relative; TOP: -2px; HEIGHT: 17px } SPAN.clsLabel { =09 } SPAN.clsSpace { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 3px; MARGIN: = 0px; OVERFLOW: hidden; WIDTH: 17px; CURSOR: hand; PADDING-TOP: 3px; = FONT-FAMILY: verdana; POSITION: relative; TOP: 0px } SPAN.clsSpace SPAN { BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; = BORDER-LEFT: black 1px solid; WIDTH: 11px; BORDER-BOTTOM: black 1px = solid; POSITION: relative; HEIGHT: 11px; BACKGROUND-COLOR: #ffffff } SPAN.clsCollapse { PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9px; PADDING-BOTTOM: = 1px; OVERFLOW: hidden; LINE-HEIGHT: 6px; PADDING-TOP: 1px } SPAN.clsExpand { PADDING-LEFT: 1px; FONT-SIZE: 13px; OVERFLOW: hidden; LINE-HEIGHT: 3px; = PADDING-TOP: 3px } SPAN.clsLeaf { PADDING-RIGHT: 0px; PADDING-LEFT: 3px; FONT-SIZE: 9px; PADDING-BOTTOM: = 0px; OVERFLOW: visible; LINE-HEIGHT: 3px; PADDING-TOP: 1px } SPAN.clsMouseOver { BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; = BORDER-LEFT: #999999 1px solid; BORDER-BOTTOM: #999999 1px solid; = BACKGROUND-COLOR: #cccccc } SPAN.clsMouseDown { BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; = BORDER-LEFT: #999999 1px solid; BORDER-BOTTOM: #999999 1px solid; = BACKGROUND-COLOR: #999999 } SPAN.clsCurrentHasFocus { BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; = BORDER-LEFT: #999999 1px solid; BORDER-BOTTOM: #999999 1px solid; = BACKGROUND-COLOR: #ffffff } SPAN.clsCurrentNoFocus { BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; = BORDER-LEFT: #999999 1px solid; BORDER-BOTTOM: #999999 1px solid; = BACKGROUND-COLOR: #f1f1f1 } A { COLOR: black; TEXT-DECORATION: none } SPAN.clsUnavailable { BORDER-RIGHT: medium none; PADDING-RIGHT: 0px; BORDER-TOP: medium none; = PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: medium none; COLOR: = #888888; PADDING-TOP: 0px; BORDER-BOTTOM: medium none; TOP: 0px; HEIGHT: = 0px } .hide { DISPLAY: none } .shown { DISPLAY: block; MARGIN-LEFT: 15px } .deeptree IMG { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; CURSOR: hand; PADDING-TOP: 0px; POSITION: relative; TOP: -2px } .treelabel { FONT-SIZE: 70.5%; COLOR: white; FONT-FAMILY: verdana } ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.microsoft.com/library/shared/deeptree/asp/deeptree.asp?stcfg=/technet/treeview/searchtabconfig.xml&dtcfg=/technet/treeview/deeptreeconfig.xml&url=/TechNet/prodtechnol/windows2000serv/support/spdeploy.asp?frame=true Deeptree
------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.microsoft.com/library/shared/deeptree/asp/leftframe.asp?stcfg=/technet/treeview/searchtabconfig.xml&dtcfg=/technet/treeview/deeptreeconfig.xml&url=/TechNet/prodtechnol/windows2000serv/support/spdeploy.asp?frame=true LeftNav ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.microsoft.com/library/shared/deeptree/graphics/showtoc.gif R0lGODlhEAAQANUiAAAASAICYv///7KztCoqKomJuI+Pj5aWwODh4+jp6szMzE5Rk2Zmo9TU1Hh9 r2lweBUqZ9nZ2cHEzJ2dnUBAQEBBhnZ2rS06e0pKSnZ/je/v78LCwvf391JbZvv8/eDk6ZSUlNDU 2////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAACIALAAAAAAQABAAAAaNQJFw SCwKGY7CYck8FByMhXCBLFivDkv0IqwgvpaPYEwWQISXyoIamWQyj0dHEBBCGvhKpEyuiwIBEIEK DxSGBBwJfgEKCiGMYx4cGgkIAEKAmYQEnJwIixKhARsJlJURDZd/AQCtExidBAMbqgATIAYABgO8 vQO1ra0GsLG/QroGubu+vMDBz9BG0kRBADs= ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: text/css; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.microsoft.com/library/shared/deeptree/css/deeptree.css BODY { FONT-SIZE: 70.5%; CURSOR: default; FONT-FAMILY: Verdana } .deeptree { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 4px; BEHAVIOR: = url(/library/shared/deeptree/htc/deeptree.htc); PADDING-TOP: 4px } SPAN { BORDER-RIGHT: #f1f1f1 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: = #f1f1f1 1px solid; DISPLAY: inline; PADDING-LEFT: 3px; PADDING-BOTTOM: = 2px; BORDER-LEFT: #f1f1f1 1px solid; PADDING-TOP: 2px; BORDER-BOTTOM: = #f1f1f1 1px solid; POSITION: relative; TOP: -2px; HEIGHT: 17px } SPAN.clsLabel { =09 } SPAN.clsSpace { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 3px; MARGIN: = 0px; OVERFLOW: hidden; WIDTH: 17px; CURSOR: hand; PADDING-TOP: 3px; = FONT-FAMILY: verdana; POSITION: relative; TOP: 0px } SPAN.clsSpace SPAN { BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; = BORDER-LEFT: black 1px solid; WIDTH: 11px; BORDER-BOTTOM: black 1px = solid; POSITION: relative; HEIGHT: 11px; BACKGROUND-COLOR: #ffffff } SPAN.clsCollapse { PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9px; PADDING-BOTTOM: = 1px; OVERFLOW: hidden; LINE-HEIGHT: 6px; PADDING-TOP: 1px } SPAN.clsExpand { PADDING-LEFT: 1px; FONT-SIZE: 13px; OVERFLOW: hidden; LINE-HEIGHT: 3px; = PADDING-TOP: 3px } SPAN.clsLeaf { PADDING-RIGHT: 0px; PADDING-LEFT: 3px; FONT-SIZE: 9px; PADDING-BOTTOM: = 0px; OVERFLOW: visible; LINE-HEIGHT: 3px; PADDING-TOP: 1px } SPAN.clsMouseOver { BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; = BORDER-LEFT: #999999 1px solid; BORDER-BOTTOM: #999999 1px solid; = BACKGROUND-COLOR: #cccccc } SPAN.clsMouseDown { BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; = BORDER-LEFT: #999999 1px solid; BORDER-BOTTOM: #999999 1px solid; = BACKGROUND-COLOR: #999999 } SPAN.clsCurrentHasFocus { BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; = BORDER-LEFT: #999999 1px solid; BORDER-BOTTOM: #999999 1px solid; = BACKGROUND-COLOR: #ffffff } SPAN.clsCurrentNoFocus { BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; = BORDER-LEFT: #999999 1px solid; BORDER-BOTTOM: #999999 1px solid; = BACKGROUND-COLOR: #f1f1f1 } A { COLOR: black; TEXT-DECORATION: none } SPAN.clsUnavailable { BORDER-RIGHT: medium none; PADDING-RIGHT: 0px; BORDER-TOP: medium none; = PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: medium none; COLOR: = #888888; PADDING-TOP: 0px; BORDER-BOTTOM: medium none; TOP: 0px; HEIGHT: = 0px } .hide { DISPLAY: none } .shown { DISPLAY: block; MARGIN-LEFT: 15px } .deeptree IMG { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; CURSOR: hand; PADDING-TOP: 0px; POSITION: relative; TOP: -2px } .treelabel { FONT-SIZE: 70.5%; COLOR: white; FONT-FAMILY: verdana } ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: text/xml; charset="windows-1250" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.microsoft.com/library/shared/deeptree/asp/contentbar.asp?dtcfg=/technet/treeview/deeptreeconfig.xml Deeptree Content Bar
show = toc
I want=20 to:  =20
------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.microsoft.com/technet/images/spacer.gif R0lGODlhBQAFAJEAAP///83dywAAAAAAACH5BAEAAAEALAAAAAAFAAUAAAIEjI+pWAA7 ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.microsoft.com/technet/images/arrowdn.gif R0lGODlhCQAJAJEAAFuS5v///wAAAAAAACwAAAAACQAJAEACDYyPicANChuc0710TQEAOw== ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.microsoft.com/technet/images/arrowup.gif R0lGODlhCQAJAJEAAFuS5v///wAAAAAAACwAAAAACQAJAEACDIyPmcCsoKJEjbY6CwA7 ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: text/css; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.microsoft.com/library/shared/common/css/ie4.css BODY { MARGIN: 0px; FONT-FAMILY: verdana,arial,helvetica } TABLE.clsContainer { HEIGHT: 78% } A:link { COLOR: #003399 } A:visited { COLOR: #660099 } A:hover { COLOR: #ff3300 } H1 { FONT-SIZE: 165%; MARGIN: 0px } H2 { MARGIN-TOP: 1em; FONT-SIZE: 125%; MARGIN-BOTTOM: 0px } H3 { FONT-SIZE: 115%; MARGIN-BOTTOM: 0px } H4 { FONT-SIZE: 100%; MARGIN-BOTTOM: 0px } H5 { FONT-SIZE: 100%; MARGIN-BOTTOM: 0px } H6 { FONT-SIZE: 100%; MARGIN-BOTTOM: 0px } DIV.clsDocBody { MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px } TD { FONT-SIZE: 68% } TH { FONT-SIZE: 68% } P { MARGIN-TOP: 0.5em; MARGIN-BOTTOM: 1em; LINE-HEIGHT: 1.5em } PRE { PADDING-RIGHT: 5pt; MARGIN-TOP: 1em; PADDING-LEFT: 5pt; BACKGROUND: = #eeeeee; MARGIN-BOTTOM: 1em; PADDING-BOTTOM: 5pt; MARGIN-LEFT: 0px; = PADDING-TOP: 5pt } SPAN.db PRE { BACKGROUND: #eeeeee; PADDING-BOTTOM: 0pt; PADDING-TOP: 0pt } SPAN.ci PRE { BACKGROUND: #eeeeee; PADDING-BOTTOM: 0pt; PADDING-TOP: 0pt } SPAN.di PRE { BACKGROUND: #eeeeee; PADDING-BOTTOM: 0pt; PADDING-TOP: 0pt } PRE.clsCode { FONT-SIZE: 110%; FONT-FAMILY: 'courier new',courier,serif } CODE.clsText { FONT-SIZE: 110%; FONT-FAMILY: 'courier new',courier,serif } PRE.clsCCCode { FONT-SIZE: 120%; BACKGROUND: none transparent scroll repeat 0% 0%; = FONT-FAMILY: 'courier new',courier,serif } PRE.clsSyntax { FONT-SIZE: 100%; FONT-FAMILY: verdana,arial,helvetica,sans-serif } HR { COLOR: #cccccc; HEIGHT: 1px } UL { MARGIN-TOP: 10px; MARGIN-BOTTOM: 10px; MARGIN-LEFT: 25px } OL { MARGIN-TOP: 10px; MARGIN-BOTTOM: 10px; MARGIN-LEFT: 25px } UL LI { MARGIN-BOTTOM: 0.5em; LINE-HEIGHT: 1.5em } UL LI LI { LIST-STYLE-TYPE: disc } OL LI { MARGIN-BOTTOM: 0.7em } INPUT.clsButton { MARGIN-TOP: 10px; FONT-WEIGHT: bold; MARGIN-LEFT: 5px; COLOR: #ffffff; = BACKGROUND-COLOR: #6699cc } P.small { FONT-WEIGHT: normal; FONT-SIZE: 95%; LINE-HEIGHT: normal; FONT-STYLE: = normal; FONT-VARIANT: normal } P.smallWhite { FONT-WEIGHT: normal; FONT-SIZE: 95%; COLOR: #ffffff; LINE-HEIGHT: = normal; FONT-STYLE: normal; FONT-VARIANT: normal } P.author { FONT-WEIGHT: normal; FONT-SIZE: 95%; LINE-HEIGHT: normal; FONT-STYLE: = italic; FONT-VARIANT: normal } P.NoLeftMar { MARGIN-LEFT: -15px } A.small { FONT-WEIGHT: normal; FONT-SIZE: 95%; LINE-HEIGHT: normal; FONT-STYLE: = normal; FONT-VARIANT: normal; TEXT-DECORATION: underline } A.smallWhite { FONT-WEIGHT: normal; FONT-SIZE: 95%; COLOR: #ffffff; LINE-HEIGHT: = normal; FONT-STYLE: normal; FONT-VARIANT: normal; TEXT-DECORATION: = underline } .CODE { FONT-WEIGHT: normal } .CODE2 { FONT-WEIGHT: normal; BACKGROUND-COLOR: #cccccc } .DATE { COLOR: #999999 } .VRULE { BORDER-LEFT: #cccccc 1px solid } TITLE.open { FONT-WEIGHT: normal; FONT-SIZE: 95%; COLOR: #ffffff; LINE-HEIGHT: = normal; FONT-STYLE: normal; FONT-VARIANT: normal } TITLE.closed { FONT-WEIGHT: normal; FONT-SIZE: 95%; COLOR: #000000; LINE-HEIGHT: = normal; FONT-STYLE: normal; FONT-VARIANT: normal } TABLE.DATA { PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 5px; = PADDING-BOTTOM: 5px; BORDER-LEFT: #cccccc 1px solid; PADDING-TOP: 5px; = BORDER-COLLAPSE: collapse } TH.DATA { BORDER-RIGHT: #cccccc 1px solid; BORDER-BOTTOM: #cccccc 1px solid; = BACKGROUND-COLOR: #eeeeee } TD.DATA { BORDER-RIGHT: #cccccc 1px solid; FONT-WEIGHT: normal; BORDER-BOTTOM: = #cccccc 1px solid } TABLE.clsCCDCInfo { BACKGROUND-COLOR: #eeeeee } .LOCATION { FONT-WEIGHT: normal; FONT-SIZE: 24px; COLOR: #cccccc; LINE-HEIGHT: = normal; FONT-STYLE: normal; FONT-VARIANT: normal } .footer { FONT: bold xx-small Verdana } .footer:link { COLOR: #ffffff; TEXT-DECORATION: none } .footer:hover { COLOR: #ff3300 } DIV.artstyle { FONT-WEIGHT: normal; FONT-SIZE: 7pt; COLOR: #000000; LINE-HEIGHT: = normal; FONT-STYLE: normal; FONT-FAMILY: Verdana, Arial, Helvetica, = sans-serif } TABLE.clsStd TH { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; = VERTICAL-ALIGN: top; PADDING-TOP: 2px; BACKGROUND-COLOR: #ddd; = TEXT-ALIGN: left } TABLE.clsStd TD { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; = VERTICAL-ALIGN: top; PADDING-TOP: 2px; BACKGROUND-COLOR: #eee } P.clsRef { MARGIN-TOP: 12pt; FONT-WEIGHT: bold; MARGIN-BOTTOM: 0em } ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: text/css; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.microsoft.com/library/shared/comments/css/ie5.css BODY { FONT-FAMILY: verdana } TABLE.clsComment { FONT-FAMILY: verdana } TABLE.clsNavLinks A { FONT-WEIGHT: bold; COLOR: #003399; TEXT-DECORATION: none } TABLE.clsComment A { FONT-WEIGHT: bold; COLOR: #003399; TEXT-DECORATION: none } TABLE.clsTeasers A { FONT-WEIGHT: bold; COLOR: #003399; TEXT-DECORATION: none } TABLE.clsNavLinks TD { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: x-small; = PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BORDER-BOTTOM: #000000 1px solid; = FONT-FAMILY: verdana } TABLE.clsNavLinks TD TD { BORDER-RIGHT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; PADDING-LEFT: = 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-TOP: 0px; = BORDER-BOTTOM: 0px } DIV.clsError { FONT-SIZE: 68% } TABLE DIV.clsContainer { BORDER-TOP: #ffffff 1px solid; FONT-SIZE: 68%; PADDING-BOTTOM: 10px; = WIDTH: 100%; PADDING-TOP: 10px; POSITION: relative; BACKGROUND-COLOR: = #cccccc } TABLE TABLE DIV.clsContainer { BORDER-TOP: #cccccc 1px solid; BACKGROUND-COLOR: #ffffff } TD.clsHDN TABLE { DISPLAY: none } SPAN.clsRespond { PADDING-RIGHT: 10px; WIDTH: 50%; TEXT-ALIGN: right } SPAN.clsSig { WIDTH: 49% } SPAN.clsToggle { LEFT: 2px; POSITION: absolute; TOP: 0.65em } ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: text/css; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.microsoft.com/library/shared/eyebrow/css/default.css .eyebrow { BORDER-RIGHT: #999999 0px solid; BORDER-TOP: #999999 0px solid; = BORDER-LEFT: #999999 0px solid; BORDER-BOTTOM: #999999 1px solid; = BACKGROUND-COLOR: #ffffff } ------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.microsoft.com/TechNet/prodtechnol/windows2000serv/support/spdeploy.asp?frame=true Microsoft Windows 2000 Service Pack Installation and = Deployment Guide
   TechNet Home >  Products & Technologies >  Windows 2000 Server >  Support=20

Microsoft Windows 2000 Service Pack Installation and = Deployment=20 Guide

Topics on this Page =
3D""=20
3D""=20
3Ddown=20 About This Guide
3Ddown=20 Organization of This = Guide
3Ddown=20 What is the Service = Pack?
3Ddown=20 Planning the = Deployment
3Ddown=20 The Update = Installation
3Ddown=20 The Integrated = Installation
3Ddown=20 The Combination = Installation
3Ddown=20 Uninstalling the Service Pack or = the Windows=20 2000 Hotfixes
3D""=20

Windows 2000=20

Family of Operating Systems=20

Service Pack 2

About This Guide 3D"Back
3D""=20
3D""=20

The Microsoft=AE Windows=AE 2000 Service = Pack=20 Installation and Deployment Guide provides the necessary = guidelines and instructions for installing the service pack = for=20 Windows 2000 Professional, Windows 2000 Server, Windows 2000 = Advanced Server, and Windows 2000 with Server Appliance Kit. = As a=20 corporate system administrator, you can use this guide as a = source=20 of information and solutions for deploying the service pack. = This=20 guide includes the technical details, procedures, and=20 recommendations for successfully installing the service pack = on=20 multiple computers in a small business or corporate = environment.=20

The body of this document focuses on the key scenarios = for=20 installing the service pack alone or in combination with one = or more=20 of the following components:=20

  • The Windows 2000 operating = system=20
  • The Windows 2000 = hotfixes=20
  • The additional Microsoft = components that=20 are included on the Service Pack 2 CD

This guide assumes a working knowledge of Windows 2000 = and=20 service pack installations. Although some basic operating = system=20 information is included in the document, this is not a = replacement=20 for the Windows 2000 documentation or formal training. = Rather, it is=20 intended to complement these sources of information.=20

In particular, you should use this guide in conjunction = with the=20 Microsoft Windows 2000 Professional Resource Kit and = the=20 Microsoft Windows 2000 Server Resource Kit. For more=20 information about these technical resources, see "For More=20 Information," later in this document.=20

This guide will be updated routinely after its final = release. The=20 Microsoft Windows 2000 Service Pack Web site provides a list = of=20 known issues and general release notes and is located at = http://www.microsoft.com/Windows2000/downloads/recommended/sp2= /default.asp=20

Organization of This Guide = 3D"Back
3D""=20
3D""=20

This guide includes the following main sections:=20

  • What is the Service = Pack?=20

    You can read this section to = become=20 familiar with the service pack. This section also provides = information about additional resource material that can = help you=20 plan your service pack deployment.

  • Planning the = Deployment=20

    This section identifies the = important=20 steps for planning your service pack deployment. You can = read=20 about the installation methods, the deployment tools and = files,=20 the supported platforms for the service pack, and the = methods for=20 testing the deployment in your environment.

  • The Update = Installation=20

    This section describes how to = create an=20 update installation of the service pack or the Windows = 2000=20 hotfixes. Procedures provide step-by-step instructions for = the=20 following update installation scenarios:=20

    • Scenario 1: Installing the = Service=20 Pack=20
    • Scenario 2: Using SMS to = Install the=20 Service Pack=20
    • Scenario 3: Using Windows = Installer=20 Service to Install the Service Pack=20
    • Scenario 4: Installing the = Windows=20 2000 Hotfixes
  • The Integrated=20 Installation=20

    This section describes how to = use the new=20 Update.exe program to create an integrated installation.=20 Procedures provide step-by-step instructions for the = following=20 integrated installation scenarios:=20

    • Scenario 1: Installing = Windows 2000=20 Integrated with the Service Pack=20
    • Scenario 2: Using RIS to = Install=20 Windows 2000 Integrated with the Service Pack=20
  • The Combination=20 Installation=20

    This section describes how to = install the=20 service pack with the Windows 2000 Hotfixes in unattended = setup=20 mode by using a combination of update and integrated = installation=20 processes.

  • Uninstalling the Service = Pack or the=20 Windows 2000 Hotfixes

    This section describes the = uninstall=20 process and limitations.

Conventions Used in This Guide

Before you get started, it's important that you = understand the=20 terminology and conventions used in this guide.=20

Terminology

The following table includes terms used in this guide = that are=20 specific to service pack installations and/or Windows 2000.=20
Term
Definition
systemroot

The "root"=20 directory of the Windows installation on the = computer's hard=20 disk. For example, on most computers, = systemroot is=20 C:\Winnt.

systemdrive

The drive=20 where the operating system is installed. For example, = on most=20 computers, the systemdrive is C:\.

clean installation

An operating=20 system installation performed on a computer with = either no=20 previously existing operating system or a previously = existing=20 operating system.

W2ksp2.exe

The name used=20 to represent the service pack executable = file.

integrated

Joining the=20 service pack with the operating system (for example, = Windows=20 2000) that results in a whole unified operating system = (for=20 example, Windows 2000 with Service Pack 2)

Typographical Conventions

The following table identifies the typographical = conventions that=20 you can use to help you quickly locate and identify = information in=20 this guide.=20
Type=20 Style
Used=20 For
bold

Command=20 names, utility names, switches, and any text you must = type=20 exactly as it appears.

italic

Parameter=20 variables, titles, and definitions. In the case of = parameters,=20 you can supply the text for any item shown in=20 italic.

monospace

Code samples=20 and syntax examples.

ALL=20 CAPITALS

Acronyms and=20 key names.

For More Information

For additional information about the Windows 2000 = operating=20 system and this service pack, see the following resources:=20

  • The Microsoft Windows 2000 = Readme for=20 Service Pack 2, which contains important information = that you=20 should review before you install this service pack. This = document=20 (ReadMeSP.htm) is located on your Service Pack 2 CD and on = the=20 Microsoft Windows 2000 Service Pack Web site at http://www.microsoft.com/Windows2000/downloads/recommended/sp2= /default.asp=20 , under "Learn More" and is available when running = Setup=20 (Update.exe or W2ksp2.exe).=20
  • Windows 2000 Help, which = provides=20 comprehensive topics to help you learn more about = operating system=20 features and functions.=20
  • The Microsoft Windows 2000=20 Professional Resource Kit, which contains in-depth, = technical=20 details for deploying Windows 2000 Professional in an=20 organization. This Resource Kit includes information for=20 management, network architects, system administrators, and = other=20 people in an IT organization who are involved in planning = the=20 Windows 2000 deployment. The Resource Kit is available = from=20 Microsoft Press.=20
  • The Microsoft Windows 2000 = Server=20 Resource Kit, which contains in-depth, technical = details for=20 deploying Windows 2000 Server in an organization. In = particular,=20 the Microsoft Windows 2000 Server Resource Kit = Deployment=20 Planning Guide, which is one of the seven Server = Resource Kit=20 volumes, provides rollout planning guidelines, strategies, = decision points, and technical information to help you = determine=20 how to deploy Windows 2000 technologies. This guide also = provides=20 step-by-step procedures for automating both client and = server=20 installations. The Resource Kit is available from = Microsoft=20 Press.=20
  • The Microsoft Windows Hardware = Compatibility List Web site, which provides the most = up-to-date=20 information about supported hardware and software = products, at:=20 http://www.microsoft.com/hcl/ =
  • The Microsoft Windows Update = Web site,=20 which provides information about and downloads of updated = drivers,=20 at: http://windowsupdate.microso= ft.com/=20
  • The Microsoft Knowledge Base, = which=20 provides updated information about the Windows 2000 = operating=20 system, at: http://search.support.mi= crosoft.com/kb/=20
  • Article Q282522 in the = Microsoft=20 Knowledge Base, which includes a list of the files = affected by=20 Service Pack 2, at http://support.microsoft.com/default.aspx?scid=3Dkb;en-us= ;Q282522&sd=3Dtech=20
  • Article Q289907 in the = Microsoft=20 Knowledge Base, which includes a list of known issues and = general=20 release notes for Service Pack 2, at http://support.microsoft.com/default.aspx?scid=3Dkb;en-us= ;Q289907&sd=3Dtech=20

What is the Service Pack? = 3D"Back
3D""=20
3D""=20

This service pack is a collection of updates that fix = issues=20 pertaining to the Windows 2000 operating system. To help you = learn=20 more about the service pack, this section discusses the = following=20 topics:=20

  • The service pack CD = contents=20
  • The service pack Web = site=20
  • The service pack fixes and=20 updates=20
  • The service pack Update.exe = installation=20 program=20

    Important This service = pack is not=20 a required upgrade; however, some applications may require = this=20 service pack to run correctly.

Service Pack CD Contents

The service pack is available from the Windows 2000 = Service Pack=20 2 CD, which includes the following items:=20

  • Service pack installation = files (use=20 W2ksp2.exe). This CD contains only the full cab, which is=20 W2ksp2.exe. After extracting the cab to a network share = folder (or=20 local share folder) using the -x switch, run = Update.exe=20 (the installation program) to install Service Pack 2. For = more=20 information on the extraction process, see "The Update=20 Installation" section later in this document.=20
  • Service pack = documentation.=20
  • The Deploy.cab file in the=20 \Support\Tools folder. The Windows 2000 Resource Kit = Deployment=20 Tools assist system administrators in installing Windows = 2000 on=20 multiple computers. The Deploy.cab file contains updates = to the=20 tools and documentation listed below. It is not = automatically=20 loaded when you install Service Pack 2. You can also = download=20 Deploy.cab from the Microsoft Windows 2000 Service Pack = Web site=20 at http://www.microsoft.com/Windows2000/downloads/recommended/sp2= /default.asp=20

    For more information on the = deployment=20 tools, see the help file titled, "Windows 2000 Resource = Kit=20 Deployment Tools" (Deptool.chm), which is included in = Deploy.cab.=20 The help file contains a list of tools, instructions on = how they=20 are used, and further information about performing an = unattended=20 setup.=20

    • Sysprep.exe=20
    • Microsoft Windows 2000 = Guide to=20 Unattended Setup (Unattend.doc). =
  • The Support.cab file in the=20 \Support\Tools folder. The Windows 2000 Support Tools help = support=20 personnel and network administrators manage their networks = and=20 troubleshoot problems. The Support. cab file contains = updates to=20 the tools and documentation listed below. The Support = Tools cab is=20 not automatically loaded when you install Service Pack 2. = You can=20 also download the updated Support Tools from the Microsoft = Windows=20 2000 Service Pack Web site at http://www.microsoft.com/Windows2000/downloads/recommended/sp2= /default.asp=20

    For more information on the = support=20 tools, see the help file titled, "Windows 2000 Support = Tools"=20 (W2rksupp.chm) included in Support.cab. The help file = provides=20 descriptions of the tools and examples of how they are = used. You=20 can also find additional information in Article Q292003 in = the=20 Microsoft Knowledge Base at http://support.microsoft.com/default.aspx?scid=3Dkb;en-us= ;Q292003&sd=3Dtech=20

    Windows 2000 Datacenter Server = customers=20 should consult with their OEM for the updated support = tools.=20

    • Dcdiag.exe=20
    • Netdiag.exe=20
    • Dnscmd.exe=20
    • Dfsutil.exe=20
    • Nltest.exe=20
    • Netdom.exe =

    Additional Windows components = that are=20 not automatically installed, including:=20

    • Terminal Services Advanced = Client=20 (TSAC) =97 The Terminal Services Advanced Client is a = package of=20 Web components and management tools based on the = Terminal=20 Services Advanced Client Win32=AE ActiveX=AE control = that can be=20 used to run Terminal Services sessions within Internet=20 Explorer.=20

      Important The Terminal = Services=20 Advanced Client is not part of the Service Pack 2 = installation; it must be installed separately. For more=20 information about using and installing TSAC, see the = Readme.htm=20 file in \ValueAdd\TSAC or the Microsoft Windows 2000 = TSAC=20 download site at http://www.microsoft.com/windows2000/downloads/recommended/TS= AC/default.asp=20

    • Terminal Services Client = Files =97 After=20 you install Windows 2000 Service Pack 2 (SP2) on a = computer=20 running Window 2000 Server, Window 2000 Advanced Server, = or=20 Window 2000 Professional that already has the Window = 2000=20 Terminal Services client installed, reinstalling the = Terminal=20 Services client does not update all the Terminal = Services client=20 files. To work around this issue, uninstall the Terminal = Services client from the computer, install Windows 2000 = SP2, and=20 reinstall the Terminal Services client from a server = that has=20 already been upgraded with Windows 2000 SP2.=20
    • For more information on this = issue,=20 view the Knowledge Base article Q265817 in the Microsoft = Knowledge Base at http://search.support.mi= crosoft.com/kb/=20
    • This article address Windows = 2000 SP1,=20 but this issue still remains for Windows 2000 SP2 as=20 well.
  • Service pack debug symbols = (Dbg_sp.htm=20 in \Support\Debug)=20

    For more information about the = debug=20 symbols and about installing the debug symbol files, see = "Service=20 Pack Debug Symbols" in Microsoft Windows 2000 Readme = for=20 Service Pack 2.

Service Pack Web Site

The Microsoft Windows 2000 Service Pack Web site includes = all of=20 the files and documents listed in "Service Pack CD = Contents,"=20 earlier in this document. For copies of these files and = documents,=20 visit the Microsoft Windows 2000 Service Pack Web site at = http://www.microsoft.com/Windows2000/downloads/recommended/sp2= /default.asp=20

There are also two installation options available from = this Web=20 site:=20

  • The express = installation=20
  • The network download =

The Express Installation

This installation option detects your system components = and=20 installs only those files that are necessary to update the=20 destination computer. This method ensures the entire service = pack is=20 loaded on your system and is recommended for end users who = already=20 installed Service Pack 1 on their computers or end users who = want to=20 reduce their download time.=20

The Network Download

This installation option downloads all of the Service = Pack 2=20 files to your computer. This is an ideal download mechanism = for=20 administrators who want to set up a network share for = deployment.=20

Service Pack Updates

To assist customers who are deciding whether to upgrade = to this=20 service pack, Microsoft provides extensive documentation = about the=20 service pack updates. The most current list of updates and = general=20 release note items (for example, space requirements for the = Service=20 Pack 2 installation) can be found at the Microsoft Windows = 2000=20 Service Pack Web site at http://www.microsoft.com/Windows2000/downloads/recommended/sp2= /default.asp=20

The service pack is a collection of updates for the = Windows 2000=20 operating system. These updates pertain to:=20

  • Operating system = reliability=20
  • Application = compatibility=20
  • Windows 2000 Setup=20
  • Security issues =

The Update.exe Installation = Program

The service pack contains an Update.exe program for = installing=20 the service pack contents. The Update.exe program includes = the=20 following:=20

  • Install the service pack = once =96 no=20 need to reinstall=20

    With the Update.exe program, = you no=20 longer need to reapply the service pack after every system = state=20 change. For example, Windows 2000 includes a driver .cab = file=20 named Driver.cab, which contains all the files potentially = installed by Plug and Play (PnP)=96class installers. Setup = and other=20 components in the system use this file to install the = drivers for=20 new devices (for example, a PCMCIA card or a USB keyboard) = without=20 requiring access to the Windows 2000 CD or the = network.=20

    The service pack does not = update the=20 Driver.cab file itself; instead, the Update.exe program = installs=20 an additional driver .cab file named Sp2.cab. This file = contains=20 only updated versions of drivers that exist in the = original=20 Windows 2000 Driver.cab file. In addition to the Sp2.cab = file, the=20 Update.exe program installs a new Drvindex.inf that points = to=20 Sp2.cab for all of the updated drivers and also points to=20 Driver.cab for all of the remaining drivers.=20

    Update.exe installs a = Layout.inf file.=20 Layout.inf insures that proper binaries are installed = following=20 the removal and addition of services, which results in a = change to=20 the operating system. For example, after you remove TCP/IP = from=20 Windows NT 4.0 and then try to reinstall it on Windows NT = 4.0, you=20 must first reinstall the service from the original CD and = then=20 reapply the service pack. This is unnecessary in Windows = 2000. The=20 Layout.inf file is updated to determine if the binary must = be=20 installed from the original Windows 2000 CD or from the = service=20 pack and, as required, prompts for the appropriate = media.=20

    For more information on this = issue, view=20 the Knowledge Base article Q274215 in the Microsoft = Knowledge Base=20 at http://search.support.mi= crosoft.com/kb/=20

  • Integration installation=20 support=20

    The Update.exe program supports = an=20 installation that integrates the service pack with the = Windows=20 2000 installation. You no longer need to perform separate=20 installations of the operating system and the service = pack. For=20 more information about this installation method, see "The=20 Integrated Installation," later in this document. =

  • Logging=20

    The Update.exe program creates = a log file=20 in systemroot named Svcpack.log. This log file = contains:=20

    • The command line that = initiated the=20 Update.exe program.=20
    • A list of the files that the = Update.exe program copied to the computer.=20
  • High encryption = (128-bit)=20

    Service Pack 2 supports high = encryption=20 (128-bit) as a default, and will upgrade your system from = standard=20 encryption (56-bit) if it hasn't been upgraded already. = Service=20 Pack 2 adds high encryption support for all Windows 2000=20 encryption-based services, including Kerberos, Encrypting = File=20 System, RAS, RPC, SSL/TLS, CryptoAPI, Terminal Services = RDP and=20 IPSec. High encryption support is intended to improve the = security=20 of data and online transactions, as well as any other = content you=20 share over networks or the Internet.

Important=20

  • Uninstalling Service Pack 2 = does not=20 revert your system to a standard encryption level. You can = always=20 uninstall Service Pack 2, but your system will retain high = encryption support.=20
  • After Service Pack 2 = installation, the=20 Protected Store will not be upgraded to 128-bit = encryption.=20 Microsoft has released a patch and tool to upgrade the = Protected=20 Store. Please go to Microsoft Security Bulletin at = = http://www.microsoft.com/technet/Security/Bulletin/ms00-032.asp=20 to download the patch and tool. The Security FAQ = at=20 = http://www.microsoft.com/technet/security/bulletin/fq00-032.asp=20 provide you information more information about = Protected=20 Store and the patch and tool.=20

    Windows 2000 Service Pack 2 is = eligible=20 for export from the U.S. to all customers worldwide, = except to=20 U.S.-embargoed destinations. Other countries may exercise = separate=20 jurisdiction over the import, export, or use of encryption = products. Users who install Service Pack 2 should observe = any=20 local regulations that may apply to the distribution or = use of=20 encryption products. Details on exporting Microsoft = products are=20 available at http://www.microsoft.com/exp= orting/=20

Command-Line Switches

The following sections define the command-line switches = for=20 Update.exe and W2ksp2.exe (the service pack executable = file).=20

Command-line Switches for Update.exe

The following table identifies the command-line switches = that the=20 Update.exe program supports.=20
Command-Line = Switch
Description
-u

Use=20 unattended Setup mode.

-f

Force other=20 applications to close at shutdown.

-n

Do not back=20 up files for uninstall.

-o

Overwrite OEM=20 files without prompting.

-z

Do not=20 restart the computer when the installation=20 completes.

-q

Use quiet=20 mode=97no user=20 interaction required.

-s:folder_name

Use=20 integrated installation mode=97to a distribution server=20 location.

Note If you use the -q or -u switch = to run=20 Update.exe in quiet or unattended Setup mode and want to = update=20 OEM-supplied files, you must also use the -o switch. = If you=20 do not use the -o switch, files such as the hardware=20 abstraction layer (HAL) and disk miniport drivers are not = updated.=20

Command-line Switches for W2ksp2.exe

The following table identifies the command-line switches = that=20 W2ksp2.exe supports.=20
Command-Line = Switch
Description
-x

Extract=20 W2ksp2.exe without starting Update.exe
You are = prompted to=20 provide the directory path to which you want to = extract=20 W2ksp2.exe.

If W2ksp2.exe is started with any other command-line = switches, it=20 assumes that these commands are for Update.exe and = "forwards" them=20 to \Update\Update.exe accordingly.=20

The Windows 2000 Hotfix.exe = Installation=20 Program

A hotfix is a collection of one or more files that can be = applied=20 to the operating system to correct a problem. Windows 2000 = hotfix=20 executable files are named according to the following = convention:=20 =

Q######_XXX_YYY_ZZZ_LL.ex= e=20

where:=20

  • Q###### =3D = Microsoft=20 Knowledge Base article number (for example, = Q123456)=20
  • XXX =3D platform or = operating=20 system (OS)=20
  • YYY =3D service pack = level=20
  • ZZZ =3D hardware = platform=20
  • LL =3D language =

Microsoft packages the hotfixes in an auto-install = format. You=20 can install the hotfixes by running the hotfix executable = file,=20 which extracts the hotfix files and runs the Hotfix.exe = installer.=20 Hotfix.exe then checks the service pack version you are = currently=20 using. If the service pack version is older than the = hotfixes and=20 the language is the same, the Hotfix.exe program installs = the=20 hotfixes automatically. If your service pack version is = newer than=20 the hotfixes, the installation is not completed and silently = exits=20 if you included the -m or -q switches when you = ran it.=20 If you did not use these switches, an error dialog box is = displayed,=20 stating that the version is incorrect.=20

If the language version of the hotfixes does not match = the=20 operating system's language, Setup is always interrupted. If = no=20 version conflict exists, Setup installs the hotfixes without = any=20 user intervention. The Hotfix.exe program registers the = hotfixes=20 under the following registry key:=20

HKEY_LOCAL_MACHINE=20 = \Software\Microsoft\WindowsNT\CurrentVersion\Hotfix\Q######=20

For information on running the Hotfix.exe program, see = "Scenario=20 4: Installing the Windows 2000 Hotfixes," later in this = document.=20

The installation of hotfixes also stores uninstall = information in=20 a hidden folder named=20 systemroot\$NtUninstallQ######$. For=20 information about uninstalling a hotfix, see "Uninstalling = the=20 Service Pack or the Windows 2000 Hotfixes," later in this = document.=20

Command-Line Switches for the Hotfix.exe Program

The following table identifies the command-line switches = that the=20 Hotfix.exe program supports.=20
Command-Line = Switch
Description
-y*

Perform=20 uninstall (can be used with -m or=20 -q).

-f

Force other=20 applications to close at shutdown.

-n

Do not back=20 up files for uninstall.

-z

Do not=20 restart the computer when the installation=20 completes.

-q

Use quiet=20 mode =97 no user interaction required.

-m

Use=20 unattended Setup mode.

-l

List=20 installed hotfixes.

* If multiple hotfixes replace the same file and you want = to=20 successfully return your system to its original state, you = must=20 remove the most recently installed hotfix first. For = example, assume=20 HotfixA and HotfixB replace the same file and that you = installed=20 HotfixA before you installed HotfixB. If you want to return = your=20 system to the state prior to the installation of HotfixA, = you must=20 uninstall HotfixB before you uninstall HotfixA.

Planning the Deployment 3D"Back
3D""=20
3D""=20

To help ensure a successful deployment of the service = pack,=20 organizations must first prepare for the deployment process. = You=20 should assess the updates and enhancements contained in the = service=20 pack and determine how they affect your organization. Also, = you can=20 perform a variety of other steps during the planning phase,=20 including these important planning tasks:=20

  • Choosing an installation = method=20
  • Identifying the deployment = tools and=20 files=20
  • Determining upgrade = options=20
  • Checking space = requirements=20
  • Testing the deployment in your = environment=20
  • Evaluating application = compatibility=20 modes

The following sections describe these planning tasks. For = a=20 complete list and detailed information about deployment = planning=20 tasks and strategies, see the Microsoft Windows 2000 = Server=20 Resource Kit Deployment Planning Guide. This planning = guide is=20 an important tool to use as you design, plan, and develop = your=20 deployment of Windows 2000 as well as Windows 2000 Service = Packs.=20 The guide can help you gain insight about how to plan your=20 deployment on both a project management level and a feature = level.=20 It addresses planning information that can help you get = started,=20 such as how to create a deployment plan and how to run a = pilot=20 project. Also, it provides important technical discussions = that can=20 help you deploy Windows 2000 technologies.=20

Choosing an Installation Method

The service pack supports the following installation = methods:=20

  • The update = installation, which is=20 the standard method used to install Microsoft Windows = NT=AE service=20 packs. If you have previously installed a Windows NT 4.0 = service=20 pack, you should be familiar with the update installation=20 method.=20
  • The integrated = installation,=20 which is an installation method used with this service = pack. The=20 integrated installation method allows you to = simultaneously=20 install Windows 2000 and the service pack.=20
  • The combination = installation,=20 which allows you to install the service pack with a = variety of=20 other components by using a combination of update and = integrated=20 installation processes.

For more information about applying these installations, = see "The=20 Update Installation," "The Integrated Installation," and = "The=20 Combination Installation" sections later in this document.=20

Identifying the Deployment Tools and = Files

After you select your installation method and one of the=20 associated scenarios for your installation, review the = scenario to=20 determine the necessary deployment tools and files.=20

This section gives a brief overview of common deployment = tools=20 and files. For more detailed information about a specific = deployment=20 tool or file, see the Microsoft Windows 2000 Server = Resource Kit=20 Deployment Planning Guide.=20

Depending on the scenario you choose, you may need one or = more of=20 the following deployment tools and files:=20

  • Microsoft Systems = Management Server=20 (SMS)=20

    SMS provides a variety of tools = to help=20 you deploy the service pack in your organization. With the = SMS=20 version 2.0 software distribution feature, you can = simultaneously=20 upgrade all of the SMS client computers in your site with = the new=20 service pack. You can allow your users to run the service = pack=20 installation whenever they like, or you can schedule the = service=20 pack installation to run at a specific time. You can also = schedule=20 it to run on SMS client computers at a time when no users = are=20 logged on to the network.=20

    Note SMS provides tools = for=20 upgrading your current computers, but not for the = installation of=20 new computers that do not have an operating system already = installed.

  • Microsoft Windows Installer = Service=20

    Windows Installer Service is a = Windows=20 2000 component that standardizes the way you install = software=20 programs, such as the service pack, on multiple computers. = This=20 system-resident installation service enables you to manage = the=20 program installation, modification, repair, and removal. = It=20 provides consistent deployment, enabling you to manage = shared=20 resources, customize installation processes, make = decisions about=20 application usage, and resolve configuration = problems.

  • Unattend.txt=20

    The Unattend.txt answer file = identifies=20 how Windows 2000 Setup should interact with the = distribution=20 folders and files you create and it supplies information = about=20 your preinstallation requirements. The answer file also = supplies=20 Setup with all of the information that the end user is = prompted to=20 provide during a typical Windows 2000 installation. For = example,=20 the Unattend.txt contains a "FullName" entry in the = [UserData]=20 section. This entry instructs Windows 2000 Setup to prompt = the=20 user to provide a full name. You can create or modify the=20 Unattend.txt answer file by using a text editor or through = Setup=20 Manager.

  • Cmdlines.txt=20

    The Cmdlines.txt file contains = a list of=20 the commands that run during Windows 2000 graphical user = interface=20 (GUI)=96mode Setup. These commands can, for example, run = an=20 application setup command, Sysdiff.exe, or another = executable=20 file. You can create the Cmdlines.txt file by using a text = editor=20 or through Setup Manager.

  • Additional Windows 2000 = deployment=20 and preinstallation tools=20

    The Windows 2000 Resource Kit = CD provides=20 additional deployment and preinstallation tools that allow = you to=20 customize certain parts of the user interface and to = provide=20 information about your unique computer features and = support=20 programs. For example, the Microsoft System Preparation = Tool=20 (Sysprep.exe) enables you to perform legal imaging, disk=20 duplication, automation of mini-setup, and auditing. = Another tool,=20 Sysdiff.exe, enables you to distribute and install = applications=20 automatically during or after Windows 2000 Setup and to = distribute=20 files or make application configuration changes during the = setup=20 process.=20

    Updated versions of these = deployment and=20 preinstallation tools are available from the Microsoft = Windows=20 2000 Home Page at: http://www.microsoft.com/windows2000/downloads/tools/sysprep/def= ault.asp=20

Determining Upgrade Options

Before you deploy the service pack in your organization, = you=20 should consider the upgrade paths supported by update and = integrated=20 installations.=20

Update Installation Platforms

The service pack supports update installations on the = following=20 platforms:=20

  • Windows 2000 = Professional=20
  • Windows 2000 Server=20
  • Windows 2000 Advanced = Server=20
  • Windows 2000 with Server = Appliance=20 Kit

Integrated Installation Platforms

The upgrade paths that were supported in the original = (Gold)=20 release of Windows 2000 are also being supported for the = Integrated=20 Installations of Windows 2000 with Service Pack 2.=20

The integrated installation, however, does not = support=20 upgrades paths from:=20

  • Windows Millennium = Edition=20
  • Windows 2000 = Professional=20
  • Windows 2000 Server=20
  • Windows 2000 Advanced = Server=20
  • Windows 2000 with Server = Appliance=20 Kit

Checking Space Requirements

The service pack requires a certain amount of space on = your=20 computer's hard disk for installation, storage, and = uninstallation.=20 These requirements vary according to the version of Windows = 2000 you=20 are installing: Windows 2000 Professional, Windows 2000 = Server,=20 Windows 2000 Advanced Server, or Windows 2000 with Server = Appliance=20 Kit.=20

The "Working space," noted below, is required for files = used in=20 the installation process. The space these files require is = temporary=20 and does not contribute to the total space requirement.=20

The space required for the "Uninstallation files," noted = below,=20 is used to store the files and settings that are changed = during=20 service pack installation. These files are required if you = wish to=20 uninstall the service pack later.=20

Important The information provided here represents = the=20 space requirements for a typical installation of = Windows 2000=20 Professional, Windows 2000 Server, Windows 2000 Advanced = Server, or=20 Windows 2000 with Server Appliance Kit with Service Pack 2.=20

Space Requirements for Windows 2000 Professional=20
Space=20 Use
Space=20 Required if Installing from a Network Distribution=20 Share*
Space=20 Required if Installing from the Service Pack CD or the = Windows=20 2000 Service Pack Web site
Service Pack=20 only

20 MB (for=20 the service pack)

20 MB (for=20 the service pack) +
170 MB (for the service pack = files=20 contained in the %windir%\servicepackfiles=20 folder)**

Subtotal:

20=20 MB

190=20 MB

Working=20 Space
(this space used during installation=20 only and does not contribute to = overall=20 space requirements)

70=20 MB

270=20 MB

Uninstallation files***

250=20 MB***

250=20 MB***

Total:

270=20 MB
(340 MB peak during the install)

440=20 MB
(710 MB peak during the install)

* See the "Scenario 1: Installing the Service Pack" = section for=20 more information on creating a network distribution share.=20

** For more information about Space Requirements and the=20 directories and files that get created when a service pack = is=20 installed, please see article Q290728 in the Microsoft = Knowledge=20 Base at http://search.support.mic= rosoft.com/kb=20 .=20

*** This number will be closer to 380 MB if you have = already=20 installed Service Pack 1 from the Windows 2000 Service Pack = Web=20 site.=20

When installing the service pack, W2ksp2.exe = automatically=20 creates a backup of the files and settings that the service = pack=20 installer changes and saves them in $NTServicepackUninstall$ = folder=20 on systemroot. For information on how to turn this = option=20 off, see "Installing Service Pack 2" in ReadMeSP.htm on the = Service=20 Pack 2 CD, or the Microsoft Windows 2000 Service Pack Web = site at=20 http://www.microsoft.com/Windows2000/downloads/recommended/sp2= /default.asp=20

For more information about uninstalling the service pack, = see=20 "Uninstalling the Service Pack or the Windows 2000 = Hotfixes," later=20 in this document.=20

Space Requirements for Windows 2000 Server, Windows = 2000=20 Advanced Server and Windows 2000 with Server Appliance = Kit=20
Space=20 Use
Space=20 Required if Installing from a Network Distribution=20 Share*
Space=20 Required if Installing from the Service Pack CD or the = Windows=20 2000 Service Pack Web site
Service Pack=20 only

20 MB (for=20 the service pack)

20 MB (for=20 the service pack) +
215 MB (for the service pack = files=20 contained in the %windir%\servicepackfiles=20 folder)**

Subtotal:

20=20 MB

235=20 MB

Working=20 Space
(this space used during installation=20 only and does not contribute to = overall=20 space requirement for your computer)

80=20 MB

280=20 MB

Uninstallation files***

315=20 MB***

315=20 MB***

Total:

335=20 MB
(415 MB peak during the install)

550=20 MB
(830 MB peak during the install)

* See the "Scenario 1: Installing the Service Pack" = section for=20 more information on creating a network distribution share=20

** For more information about Space Requirements and the=20 directories and files that get created when a service pack = is=20 installed, please see article Q290728 in the Microsoft = Knowledge=20 Base at http://search.support.mic= rosoft.com/kb=20

*** This number will be closer to 460 MB if you have = already=20 installed Service Pack 1 from the Windows 2000 Service Pack = Web=20 site.=20

When installing the service pack, W2ksp2.exe = automatically=20 creates a backup of the files and settings that the service = pack=20 installer changes and saves them in $NTServicepackUninstall$ = folder=20 on systemroot. For information on how to turn this = option=20 off, see "Installing Service Pack 2" in ReadMeSP.htm on the = Service=20 Pack 2 CD, or the Microsoft Windows 2000 Service Pack Web = site at=20 http://www.microsoft.com/Windows2000/downloads/recommended/sp2= /default.asp=20

For more information about uninstalling the service pack, = see=20 "Uninstalling the Service Pack or the Windows 2000 = Hotfixes," later=20 in this document.=20

Testing the Deployment in Your = Environment

Although Microsoft has a high degree of confidence in = this=20 service pack, we cannot test all possible hardware = configurations=20 and line-of-business (LOB) applications that may be present = in all=20 environments. Instead, we recommend that you test the = service pack=20 in your environment before you deploy it to all of your = users.=20 Testing the service pack in your environment can include, = but is not=20 limited to, the following procedure.=20

To test the service pack in your environment=20

  1. Take a cross-section of the = types of=20 computers used in your environment that should receive the = service=20 pack. Make sure that the computers you are using for the = test have=20 a typical sample of software and hardware devices used in = your=20 business.=20

    Install the service pack to = each of these=20 computers in the same way that you expect to do in your=20 environment, including:=20

    • Update existing computers = that are=20 running Windows 2000 to Service Pack 2.=20
    • Upgrade existing computers = that are=20 running Windows 95, Windows 98, or Windows NT 4.0 to = Windows=20 2000 integrated with Service Pack 2.=20
    • Install Windows 2000 = integrated with=20 Service Pack 2 to a computer with either no existing = operating=20 system or a previously existing operating system (that = is, a=20 clean installation).
  2. Verify that the applications = and=20 hardware continue to work as expected for the various=20 scenarios.=20
  3. Run System Stress for Windows = NT 4.0 and=20 Windows 2000 version 1.0 for up to two weeks (a System = Stress CD=20 is included with Microsoft Developer Network (MSDN) CD=20 subscriptions).=20

    If you are installing Windows = 2000 for=20 the first time in your company or within a division of = your=20 company, you may want to set up a pilot group to help test = and=20 verify that your deployment works in your environment as=20 expected.

For more information about planning for, testing, and = deploying=20 Windows 2000 in your environment, see the Windows 2000 = Server=20 Deployment and Planning Guide at: = http://www.microsoft.com/TechNet/prodtechnol/wind= ows2000serv/reskit/deploy/sdgintro.asp=20

Evaluating Application Compatibility = Modes

Compatibility modes provide an environment for = applications that=20 were designed to run on Windows 95 or Windows NT 4.0. These = modes=20 resolve several of the most common issues that prohibit = older=20 applications from working correctly on Windows 2000. = Applications=20 that experience problems after upgrading from Windows 95 or = Windows=20 NT 4.0 to Windows 2000 might function better by starting in = one of=20 these compatibility environments.=20

Windows 2000 uses the compatibility mode technology to = ensure=20 out-of-box compatibility with many popular applications. = However,=20 advanced users can also use this technology to provide = solutions for=20 their own applications. For more information on how to use = the=20 Compatibility Mode Technology, see article Q279792 in the = Microsoft=20 Knowledge Base at http://search.support.mi= crosoft.com/kb/=20

  • Service Pack 2 includes = significant=20 enhancements and updates for application compatibility = issues=20 pertaining to Windows 2000.=20
  • Compatibility modes are = installed on=20 Windows 2000 Professional only. Windows 2000 Server and = Windows=20 2000 Advanced Server users can install these technology = and=20 compatibility updates from the Windows Update site. =

The Update Installation 3D"Back
3D""=20
3D""=20

During the update installation, the service pack or the = Windows=20 2000 hotfixes are applied to a computer that is already = running=20 Windows 2000. When you run the Update.exe program, it = automatically=20 installs the updated system files and makes the necessary = registry=20 changes. After the computer is restarted, the installation = is=20 completed and the operating system is running with an = updated file=20 set.=20

The service pack supports a number of methods for = creating the=20 update installation, including manually running the = Update.exe=20 program with a combination of installation switches, using = SMS,=20 using the Windows Installer Service, or running a script = that starts=20 the Update.exe program. This service pack also supports a = variety of=20 distribution media, including CD-ROM, network distribution = share,=20 and Web download. Because this guide is intended for = corporate=20 audiences, the update installation scenarios described in = this=20 document focus on the network distribution share, which is = the most=20 common distribution media for this audience.=20

Creating an Update Installation

This section describes the installation steps for the = following=20 update installation scenarios:=20

  • Scenario 1: Installing the = Service=20 Pack=20
  • Scenario 2: Using SMS to = Install the=20 Service Pack=20
  • Scenario 3: Using Windows = Installer=20 Service to Install the Service Pack
  • Scenario 4: Installing the = Windows 2000=20 Hotfixes

Depending on your installation requirements, you can = choose from=20 these four update scenarios, which are described in detail = in the=20 following sections.=20

Scenario 1: Installing the Service Pack

This scenario describes how to install the service pack = from a=20 network distribution share. This update installation method = installs=20 the service pack on computers that are already running = Windows 2000.=20

Prior to installing the service pack on a server cluster, = you=20 must first pause the node and move all groups running on it = to the=20 other node. See the Knowledge Base article Q174799 for = complete=20 instructions prior to installing the service pack. If SQL = Server is=20 installed on the server cluster, see the Knowledge Base = article=20 Q239473 prior to installing the service pack. The Microsoft=20 Knowledge Base is at the Microsoft Product Support Services = Web site=20 at http://search.support.mic= rosoft.com/kb=20

Note For the following procedure, "E:\" represents = the=20 drive of the network or computer where your distribution = folder is.=20

To install the service pack

  1. Connect to the network or = computer on=20 which you want to create the distribution folder.=20
  2. On the network distribution = share,=20 create a distribution folder for the service pack.=20

    For example, to create a = distribution=20 folder named SP2, type:=20

    mkdir E:\SP2

  3. Expand the service pack = executable file=20 to the network share, type:=20

    W2ksp2.exe -x=20

    You are then prompted to enter = the path=20 to the network share you have created. Enter the full path = to this=20 share =97 for example, E:\SP2 =97 to automatically = extract the=20 service pack files to that path.

  4. To install the service pack = from the=20 network distribution share, run the service pack = executable=20 file.=20

    For example, to install the = service pack=20 from a distribution folder named SP2, type:=20

    E:\SP2\Update\Update.exe=20

Scenario 2: Using SMS to Install the Service Pack

This scenario describes how to install the service pack = from a=20 network distribution share by using SMS. This update = installation=20 method installs the service pack on SMS client computers = that are=20 already running Windows 2000.=20

Important SMS 2.0 Service Pack 2 is required to = support=20 Windows 2000 clients.=20

If you want to use SMS to install the service pack, = complete the=20 following tasks:=20

  • Create the SMS package by = importing the=20 package definition file for the service pack. In the = package,=20 provide the path to the service pack source files.=20
  • Distribute the SMS package to = the=20 distribution points.=20
  • Create the advertisement to = notify SMS=20 clients about the service pack.

This scenario assumes that you have an understanding of = SMS as=20 well as a working knowledge of software distribution. Also, = this=20 section assumes that your SMS infrastructure is in place or = that you=20 will put an SMS infrastructure in place before you deploy = the=20 service pack. For more information about SMS, see the SMS = 2.0=20 Administrator's Guide. For specific information about = software=20 distribution, see Chapter 12, "Distributing Software," in = the SMS=20 2.0 Administrator's Guide.=20

A sample package definition file for Windows 2000 Service = Pack 2=20 (W2ksp2.sms) is provided in \Support\Tools on the Service = Pack CD.=20

Creating the SMS Package

The first step to distributing software through SMS is to = create=20 the SMS package, which contains the files and instructions = that=20 direct the software distribution process. When you create = the SMS=20 package, you set up the location of the package source files = (where=20 SMS obtains the files) and the package definition file = (.pdf) for=20 distributing the service pack.=20

A package definition file is a specially formatted file = that=20 contains all of the information necessary to create the SMS = package.=20 If you import this file, SMS immediately creates the = package. After=20 you use a package definition file to create a package, you = can=20 modify it the way you would any other SMS package.=20

Each predefined SMS package also contains SMS programs, = which are=20 command lines that run on each targeted computer to control = the=20 execution of the package. Each program is a different = combination of=20 options that you create for installing the package. For = example, the=20 package definition for the service pack includes programs to = install=20 the service pack with or without user input. These SMS = programs must=20 be compatible with the installation files for the package.=20

Note For the following procedure, "E:\" represents = the=20 drive of the network or computer where your distribution = folder is.=20

To create the SMS package=20

  1. Connect to the network or = computer on=20 which you want to place the source files.=20
  2. On the network or computer, = create a=20 source files directory for the service pack.=20

    For example, to create a source = files=20 directory named SP2, type:=20

    mkdir E:\SP2=20

    Copy the service pack = executable files to=20 the source files directory that you created in Step 2.=20

    1. At the command prompt, type=20 W2ksp2.exe -x, and press ENTER.=20
    2. You are then prompted to = provide the=20 directory path (for example, the source files directory) = that=20 you want W2ksp2.exe extracted to. =

    For example, to copy the = service pack=20 executable files from the service pack CD in the CD-ROM = drive (D:)=20 to the source files directory named SP2, type:=20

    xcopy D:\ E:\SP2 = /e=20

    Important If you = download service=20 pack from the Microsoft Windows 2000 Service Pack Web = site, you=20 must extract the compressed program file before you can = copy it to=20 the source files directory.

  3. In the SMS Administrator = console, select=20 Packages.=20
  4. From the Action menu, = point to=20 New, and then click Package From = Definition.=20
  5. On the Welcome page, click=20 Next.=20
  6. To import the service pack = package=20 definition file, click Browse from the Package = definition=20 list, and then navigate to the folder where the package = definition=20 file for the service pack was created (For example,=20 \Support\Tools\W2KSP2.SMS on the SP2 CD). When you find = the=20 package definition file, click it.=20
  7. On the Source Files page, = click=20 Always obtain files from a source directory, and = then click=20 Next.=20
  8. In the Source directory = box,=20 enter the Universal Naming Convention path (For example,=20 \\server1\share1\dir1) to the package source files (see = Step=20 3).=20
  9. Click Next, and then = click=20 Finish.=20
  10. After the wizard finishes, = under your=20 new package, select Programs.=20
  11. In the results pane (on the = right side=20 of the console), double-click the service pack = program.=20
  12. In the Program = Properties dialog=20 box, on the General tab, verify that the predefined = Command line is the correct setup command for your=20 needs.=20
  13. To check and modify the = options that=20 control the execution of your program, click the=20 Requirements, Environment, and = Advanced tabs.=20 For more information about the options on these tabs, see = the=20 SMS 2.0 Administrator's Guide.=20
  14. To close the Program = Properties=20 dialog box, click OK.

Distributing the SMS Package to the Distribution = Points

After you create the SMS package for the service pack, = you can=20 distribute the package to your distribution points. = Distribution=20 points are shares on site systems where SMS copies the = package=20 source files for access by the client computers.=20

To distribute the SMS package to the distribution = points=20

  1. In the SMS Administrator = console, select=20 Packages, select the SMS package that you created = for the=20 service pack, and then select Distribution = Points.=20
  2. From the Action menu, = point to=20 New, and then click Distribution = Points.=20

    The New Distribution Points = wizard=20 appears.

  3. Click Next to continue = past the=20 Welcome page, and select the distribution points you want = to=20 use.=20

    Note All the = distribution points=20 for all sites are listed, so you can select all the = distribution=20 points now. You want to specify a distribution point for = every=20 site that has clients needing SP2.

  4. Click Finish to start = the=20 distribution. The package is immediately distributed to = the=20 selected distribution points=20

    Note Distribution points = must have=20 sufficient disk space for the SMS package. For = instructions about=20 how to check the disk space for distribution points from = the SMS=20 Administrator console, see the SMS 2.0 Administrator's=20 Guide.

Creating the Advertisement

After you distribute the SMS package to the distribution = points,=20 you can create the advertisement that offers the package to = the SMS=20 clients.=20

To create the advertisement=20

  1. Create a collection of SMS = clients to=20 receive the installation program. You can base the = collection on a=20 query or direct membership rules.=20

    Note For more = information about=20 creating a collection, see the SMS 2.0 Administrator's=20 Guide.

  2. Right-click the collection = that will=20 receive the program, and then click All = Tasks/Distribute=20 Software.=20

    The Distribute Software wizard=20 starts.

  3. Click Next.=20
  4. Click Distribute an = existing=20 package, click the SMS package for the service pack, = and then=20 click Next.=20
  5. On the Distribution = Points dialog=20 box, under Distribution points, make sure the = desired=20 distribution points are selected, and then click=20 Next.=20
  6. On the Advertise a = Program dialog=20 box, click "Yes. Advertise a program," click the = program=20 you want to advertise, and then click Next.=20
  7. On the Advertisement Target = dialog box, confirm that the collection of clients = selected in=20 Step 2 is listed, and then click Next. If this = collection=20 is not listed, click Browse to find the collection = you=20 want.=20
  8. On the Advertisement = Name dialog=20 box, fill in the advertisement name if appropriate, and = then click=20 Next.=20
  9. Specify any subcollections = that should=20 also receive this advertisement, and then click=20 Next.=20
  10. Confirm or change the time the = advertisement is offered and specify whether the = advertisement=20 should expire and when.=20
  11. To assign the program, on the = Assign=20 Program page, click Yes.=20
  12. Click Next, and then = click=20 Finish.

SMS clients refresh the list of advertised programs on a=20 configurable polling interval, which defaults to 60 minutes. = After=20 the service pack advertisement is received on a client, it = appears=20 (for selection by users) in the Advertised Programs wizard = in=20 Control Panel, or, if assigned (mandatory), it runs = on the=20 schedule specified.=20

Scenario 3: Using Windows Installer Service to Install = the=20 Service Pack

This scenario describes how to install the service pack = from a=20 network distribution share by using Windows Installer = Service. This=20 installation method installs the service pack on computers = that are=20 already running Windows 2000.=20

This section assumes that you have a basic understanding = of=20 Windows Installer Service, as well as a working knowledge of = Group=20 Policy and Active Directory=99. For more information about = Windows=20 Installer Service, Group Policy, or Active Directory, see = the=20 Microsoft Windows 2000 Professional Resource = Kit or=20 the Microsoft Windows 2000 Server Resource = Kit.=20

Using the Windows Installer Service

The Windows Installer package file (Update.msi) contains = all the=20 information that Windows Installer Service requires to = install or=20 uninstall the service pack and to run the Setup user = interface. This=20 package file describes the relationships among service pack=20 features, components, and resources. The package file also = contains=20 an installation database, a summary information stream, and = data=20 streams for various parts of the service pack installation.=20

You can use the Software Installation and Maintenance = feature in=20 Windows 2000, which leverages Windows Installer Service and = the=20 Update.msi file to create a Windows Installer package that = installs=20 the service pack. Software Installation and Maintenance uses = a Group=20 Policy object (GPO) to deploy the package on computers = within Active=20 Directory containers, such as sites, domains, and = organizational=20 units (OUs) that are associated with the GPO.=20

After you assign the package, Windows Installer Service = installs=20 the service pack automatically when the users start their = computers.=20 The users do not choose to install the service pack. Only a = local=20 administrator can remove the assigned software.=20

Important Microsoft recommends using Update.exe = when=20 deploying Windows 2000 Service Pack 2 using the command = prompt=20 interface. If you use Update.msi to distribute service = packs,=20 implement the distribution by using a computer-based group = policy=20 only. Microsoft does not support the use of user-based group = policy=20 deployments with Update.msi. User-based group policy = deployments=20 apply on a per-user basis. The installation of a service = pack=20 applies to the entire system. For more information, see the=20 Knowledge Base Article Q278503 in the Microsoft Knowledge = Base at=20 http://search.support.mi= crosoft.com/kb/=20

Microsoft requires use of the "Machine Assigned" = distribution=20 method when using Update.msi. There is a known issue when = running=20 Update.msi from the command prompt using the /q and=20 /qb flags (msiexec /i update.msi /q and = msiexec /i=20 update.msi /qb). When you run the .msi file from the = command=20 prompt using these flags, Update.msi fails to properly = backup the=20 registry keys, and the service pack installation fails due = to a=20 problem with obtaining the correct permissions. After using = the=20 "Machine Assigned" distribution method with Update.msi, all = UI=20 levels function properly when executed.=20

In the event that some computers in a deployment do not = show the=20 service pack as installed via Winver.exe due to reasons such = as=20 power outages, shutdowns by users, and so on, the service = pack can=20 be reapplied to these computers. To work around this issue, = move the=20 computers out of the scope of the service pack deployment to = another=20 organizational unit, restart the computers, move them back = to the=20 service pack-deployed organizational unit, and then restart = the=20 computers a second time. This redeploys the service pack to = the=20 client computers. You can use Active Directory Users and = Computers=20 to move the computers between each organizational unit.=20

Assigning the Service Pack to Computers

This procedure describes how to assign the service pack = to=20 computers managed by a Group Policy object (GPO), which is = created=20 for the Desktops organizational unit under Resources. For = your=20 installation, you may want to associate the GPO with a = different=20 Active Directory container.=20

Note For the following procedure, "E:\" represents = the=20 drive of the network or computer where your distribution = folder is.=20

To assign the Service Pack to a group of computers =

  1. Connect to the network or = computer on=20 which you want to create the distribution folder.=20
  2. On the network distribution = share,=20 create a distribution folder for the service pack.=20

    For example, to create a = distribution=20 folder named SP2, type:=20

    mkdir E:\SP2=20

    You must set the appropriate = permissions=20 to share your distribution folder so that users have read = access,=20 and administrators have full control access to the = folder.=20

    Copy the service pack files and = directories to the source files directory that you created = in Step=20 2.=20

    1. At the command prompt, type=20 W2ksp2.exe -x, and press ENTER.=20
    2. You are then prompted to = provide the=20 directory path (for example, the source files directory) = to=20 which you want to extract W2ksp2.exe. =
  3. In the MMC console, open the = Active=20 Directory Users and Computers snap-in.=20

    The Active Directory Users and = Computers=20 snap-in is part of the Administrative Tools program group. = It=20 already includes tools for Group Policy and Software = Installation=20 and Maintenance. You can use the Active Directory Users = and=20 Computers snap-in, or you can configure your own Software=20 Installation and Maintenance tool. For more information, = see the=20 Microsoft Windows 2000 Server Resource Kit = or the=20 Microsoft Windows 2000 Professional Resource=20 Kit.

  4. In the console tree, = double-click=20 Active Directory Users and Computers to expand the = tree,=20 double-click the name of the domain where the OU that is = receiving=20 the service pack resides, and then double-click the = applicable OU=20 name.=20
  5. Right-click on the Active = Directory=20 object that the MSI package will be applied to, and then = click=20 Properties.=20
  6. On the Group Policy = tab, click=20 New, type Desktop SP2 Upgrade, and then = press=20 ENTER.=20
  7. Click Edit.=20
  8. In the Group Policy snap-in, = under the=20 Computer Configuration node, double-click = Software=20 Settings.=20
  9. Right-click Software=20 installation, click New, and then click=20 Package.=20
  10. Browse to the network = distribution share=20 where your service pack distribution folder is = located.=20
  11. Right-click the i386\Update = folder, click Open, right-click Update = (.msi=20 file), and then click Open.=20
  12. In the Deploy Software = dialog=20 box, verify that the Assigned option is selected, = and then=20 click OK.=20
  13. Close the Group Policy = snap-in.=20
  14. In the Desktop Properties = dialog=20 box, on the Group Policy page, click = Close.=20
  15. On the Console menu, = click=20 Exit.

Scenario 4: Installing Windows 2000 Hotfixes

This scenario describes how to install the Windows 2000 = hotfixes=20 from a network distribution share. This method installs the = hotfixes=20 on computers that are already running Windows 2000.=20

Important Hotfix chaining during Update = installations is=20 not supported in Windows 2000. Hotfix chaining is the = process=20 of installing a service pack and then installing subsequent = hotfixes=20 without the need to restart the computer between installing = the=20 service pack and the hotfixes. This process was available in = Windows=20 NT 4.0.=20

Running the Hotfix Program

The following procedure describes how to install a = Windows 2000=20 hotfix by running the Q######_XXX_YYY_ZZZ_LL.exe = program.=20

Note For the following procedure, "E:\" represents = the=20 drive of the network or computer where your distribution = folder is.=20

To install a Windows 2000 hotfix=20

  1. Connect to the network or = computer on=20 which you want to create the distribution folder.=20
  2. On the network distribution = share,=20 create a distribution folder for the hotfix files.=20

    For example, to create a = distribution=20 folder named Hotfix, type:=20

    mkdir E:\Hotfix =

  3. Copy the Windows 2000 hotfix = executable=20 file to the distribution folder that you created in Step = 2.=20

    For example, to copy the = Windows 2000=20 hotfix executable file to the distribution folder named = Hotfix,=20 type:=20

    xcopy=20 C:\Q######_XXX_YYY_ZZZ_LL.exe E:\Hotfix =

  4. To install the hotfix from the = network=20 distribution share, run the Q######_XXX_YYY_ZZ.exe=20 program.=20

    For example, to install the = hotfix from=20 the distribution folder named Hotfix, type:=20

    E:\Hotfix\Q######_XXX_YYY_ZZZ_LL.exe=20

    The = Q######_XXX_YYY_ZZZ_LL.exe=20 file supports the same command-line switches as the = Hotfix.exe=20 program. For more information about these command-line = switches,=20 see "Command-Line Switches for the Hotfix.exe Program," = earlier in=20 this document.

The Integrated Installation = 3D"Back
3D""=20
3D""=20

You can use this installation method to create an = integrated=20 installation of the Windows 2000 operating system and the = service=20 pack on a network distribution share. When you run the = Update.exe=20 program in integrated mode, it applies the service pack = directly to=20 the Windows 2000 installation files. Therefore, you do not = need to=20 separately install the operating system and the service = pack.=20

Because the integrated installation replaces individual = files,=20 the space requirements for this installation type are = practically=20 identical to the space requirements for Windows 2000 Gold. = For=20 information on these requirements, see Readme.doc on the = Windows=20 2000 product CD.=20

After the Update.exe program builds the integrated = installation,=20 you can run Windows 2000 Setup (Winnt32.exe) to install the = updated=20 operating system with the service pack already applied.=20

Because this guide is intended for corporate audiences, = the=20 integrated scenario described in this document focuses on = the=20 network distribution share, which is the most common = distribution=20 media for this audience.=20

Important You cannot uninstall a service pack that = you=20 install in integrated mode.=20

Creating an Integrated = Installation

This section describes the installation steps for the = following=20 integrated installation scenarios:=20

  • Scenario 1: Installing Windows = 2000=20 Integrated with the Service Pack=20
  • Scenario 2: Using RIS to = Install Windows=20 2000 Integrated with the Service Pack

Depending on your installation requirements, you can = choose from=20 these two integrated installation scenarios, which are = described in=20 detail in the following sections.=20

Scenario 1: Installing Windows 2000 Integrated with the = Service=20 Pack

This scenario describes how to create an integrated = installation=20 of the Windows 2000 operating system and the service pack on = a=20 network distribution share. The integrated process installs = the=20 service pack during Windows 2000 Setup.=20

Important Do not update Windows 2000 integrated = with a=20 service pack in a network distribution share if there are = users=20 still utilizing this older integrated version in the same = network=20 distribution share.=20

Note For the following procedure, "E:\" represents = the=20 drive of the network or computer where your distribution = folder is.=20

To create an integrated installation of Windows 2000 = and the=20 service pack=20

  1. Connect to the network or = computer on=20 which you want to create the distribution folder.=20
  2. On the network distribution = share,=20 create a distribution folder for the Windows 2000 = installation=20 files.=20

    For example, to create a = distribution=20 folder named Win2000\i386, type:=20

    mkdir = E:\Win2000\i386

  3. Insert your Windows 2000 = product CD into=20 the CD-ROM drive, and then copy the contents of the CD to = the=20 distribution folder that you created in Step 2.=20

    For example, to copy the = installation=20 files and directories from the Windows 2000 product CD in = the=20 CD-ROM drive (D:) to the distribution folder named = Win2000\i386,=20 type:=20

    xcopy D:\i386 = E:\Win2000\i386=20 /e

  4. Remove the Windows 2000 = product CD from=20 the CD-ROM drive, and then insert the service pack = CD.=20
  5. To apply the service pack to = the Windows=20 2000 installation files in your distribution folder, you = must=20 first extract the service pack files from W2ksp2.exe to a = folder=20 on your computer hard disk and then run the Update.exe = program in=20 integrated mode.

    For example, to extract the = service pack=20 files located in the CD-ROM drive (D:) to your computer = hard disk=20 (C:) in a folder called SampleFolder and then apply it to = the=20 Windows 2000 installation files located in the = distribution folder=20 named Win2000\i386, type:=20

    D:\W2ksp2.exe /x=20

    When prompted to "Choose = Directory For=20 Extracted Files", type C:\SampleFolder in the text = box.=20 After the files have been extracted, type:=20

    C:\SampleFolder\i386\Update\Update.exe=20 -s:E:\Win2000=20

    Important To run the = Update.exe=20 program from your computer hard disk, you must have = Windows=20 2000 running on your computer.=20

    For a list of command-line = switches that=20 Update.exe supports, see "Command-Line Switches for = Update.exe,"=20 earlier in this document.=20

    Note You can also = install the=20 service pack from the Microsoft Windows 2000 Web site. For = more=20 information, see "Installing from the Web" in Microsoft = Windows=20 2000 Readme for Service Pack 2. This document = (ReadMeSP.htm)=20 is located on your service pack CD and is available when = running=20 Setup (Update.exe or W2ksp2.exe).

  6. As required, make any = necessary=20 customizations to Windows 2000 Setup.

After Update.exe builds the integrated installation, you = can=20 deploy Windows 2000 to your users' computers from the = network=20 distribution share in attended or unattended Setup mode. = During the=20 standard installation process, Windows 2000 Setup (Winnt.exe = or=20 Winnt32.exe) installs the updated operating system with the = service=20 pack already applied.=20

Important When you run the Update.exe program in=20 integrated mode (Update.exe -s:file_name), a = Svcpack.log file=20 is created in systemroot on the computer that is = running the=20 Update.exe program. If you plan to update more than one = version of=20 Windows 2000 on this computer, you should rename the = Svcpack.log=20 file after you update each version. This ensures that you do = not=20 overwrite the current log file when you update additional = versions=20 of Windows 2000.=20

Scenario 2: Using RIS to Install Windows 2000 Integrated = with=20 the Service Pack

This scenario describes how to use Remote Installation = Services=20 (RIS) to install Windows 2000 integrated with the service = pack.=20 However, this section does not provide details on how to set = up RIS.=20 For more information about RIS, see Step-by-Step Guide to = Remote=20 OS Installation at: http://www.microsoft.com/windows2000/techinfo/planning/= management/remotesteps.asp=20

Creating a RIS Image

There are two types of operating system images supported = by=20 Remote OS Installation: CD-based images and Remote = Installation=20 Preparation (RIPrep) images. The CD-based option is similar = to=20 setting up a client operating system directly from the = Windows 2000=20 product CD, but in this case, the source files reside on the = RIS=20 server. The RIPrep image allows administrators to configure = a client=20 computer exactly how they want it and then make a copy of = that image=20 for installation on client computers on the network.=20

Creating an Integrated Image

After you complete the installation of Remote = Installation=20 Services on the server, perform the following steps to add = an image=20 of Windows 2000 integrated with the service pack to your RIS = server.=20

To copy Windows 2000 integrated with Service Pack 2 to = your=20 RIS server=20

  1. Create an integrated = installation of=20 Windows 2000 with Service Pack 2. For more information, = see=20 "Scenario 1: Installing Windows 2000 Integrated with the = Service=20 Pack," earlier in this document.=20
  2. On the RIS server's console, = from the=20 Start menu, point to Programs, point to=20 Administrative Tools, and then click Active = Directory Users=20 and Computers.=20
  3. In the left pane, click = Container=20 with RIS server.=20
  4. In the right pane, right-click = RIS=20 Server Name and then click Properties.=20
  5. On the RIS server property = page, click=20 the Remote Install tab, and then click Advanced=20 Settings.=20
  6. Click the Images tab, = and then=20 click Add to add a new CD-based OS image. When = prompted for=20 the image source, point to the share containing this=20 update.
Creating a RIPrep Image

The Remote Installation Preparation wizard (RIPrep.exe) = provides=20 the ability to prepare an existing Windows 2000 = installation,=20 including locally installed applications and specific = configuration=20 settings, and replicate that image to an available RIS = server on the=20 network. The RIPrep feature supports replication of a = single disk=20 single partition (C: drive only) with Windows = 2000=20 installation. This means that the OS and all of the = applications=20 that make up the standard installation must reside on the C: = drive=20 before running the wizard. To perform this operation you = must have a=20 CD-based image of the same release of Windows 2000 on your = RIS=20 Server: that is, if the master computer that you are = attempting to=20 RIPrep is running "Windows 2000 Integrated with Service = Pack" then=20 you must install this integrated image on your RIS server as = described in the previous section.=20

Note You can restore existing Windows 2000 images = from=20 your RIS server, apply the service pack using the Update.exe = program, and then RIPrep them back to the RIS server again = as long=20 as you have the correct CD-based image on the RIS server. To = prevent=20 loss of data during Windows 2000 restore, create a new = RIPrep image=20 and do not overwrite your existing RIPrep images. For = instructions=20 on how to run RIPrep, see Step-by-Step Guide to Remote OS = Installation at: http://www.microsoft.com/windows2000/techinfo/planning/= management/remotesteps.asp=20

The Combination Installation = 3D"Back
3D""=20
3D""=20

The combination installation uses both update and = integrated=20 installation processes to install the service pack with a = variety of=20 other components, such as the operating system, the Windows = 2000=20 hotfixes, or additional Microsoft and third-party software = programs=20 that are included on the service pack CD.=20

Creating a Combination = Installation

This section describes the installation steps for = installing=20 Windows 2000 and the Windows 2000 hotfixes in unattended = setup mode.=20

Installing Windows 2000 with Windows 2000 Hotfixes

This scenario describes how to create a combination = installation=20 of Windows 2000 Integrated with Service Pack 2 and post = Service Pack=20 2 hotfixes on a network distribution share. You do not need = to=20 perform separate installations of the Windows 2000 operating = system=20 or the Windows 2000 hotfixes.=20

Important An attempt to slipstream a SP2 hotfix = into an=20 integrated Service Pack 2 distribution share might cause = Windows=20 2000 to fail (due to the SP2.cat file getting overwritten = and SP2=20 files becoming untrusted). For more information on this = issue, see=20 article Q290074 in the Microsoft Knowledge Base at http://search.support.mi= crosoft.com/kb/=20

Important

  • This process installs the = Windows 2000=20 hotfixes during Windows 2000 Setup.=20
  • Because Windows 2000 Setup = requires the=20 8.3 naming convention for all files and folders in the=20 distribution folder, you must change the hotfix file names = (from Q######_XXX_YYY_ZZZ_LL to=20 Q######).

Preparing for the Installation

Before you run Windows 2000 Setup to deploy the = installation of=20 the Windows 2000 operating system and the Windows 2000 = hotfixes, you=20 must install the Windows 2000 operating system and Windows = 2000=20 hotfix installation files and then complete the following = tasks.=20

If you plan to install any additional files (for example, = device=20 driver, application, or component files) on the destination=20 computers, create a \$1 subfolder within the \$OEM$ = subfolder. The=20 \$1 subfolder maps to systemdrive, the destination = drive for=20 the Windows 2000 installation.=20

Note For the following procedure, "E:\" represents = the=20 drive of the network or computer where your distribution = folder is.=20

To install Windows 2000 Integrated SP2 and Windows = 2000=20 hotfixes=20

  1. Connect to the network or = computer on=20 which you want to create the distribution folder.=20
  2. On the network distribution = share,=20 create an \i386 distribution folder. For example, to = create an=20 \i386 distribution folder, type=20

    mkdir E:\i386 =

  3. Within the \i386 folder = created in Step=20 2, create an \$OEM$ subfolder. For example, to create an = \$OEM$=20 subfolder within the \i386 folder, type:=20

    mkdir = E:\i386\$OEM$=20

    The \$OEM$ subfolder contains = any=20 additional folders needed to satisfy the Microsoft OEM=20 requirements and your own preinstallation needs. For more=20 information about these additional folders, see the = Microsoft=20 Windows 2000 Server Resource Kit Deployment Planning=20 Guide.

  4. If you plan to install any = additional=20 files (for example, device driver, application, or = component=20 files) on the users' computers, within the \$OEM$ = subfolder=20 created in Step 3, create a \$1 subfolder. For example, to = create=20 an \$1 subfolder within the \$OEM$ subfolder, type: =

    mkdir = E:\i386\$OEM$\$1=20

    The \$1 subfolder maps to=20 systemdrive, the destination drive for the Windows = 2000=20 installation.=20

    Note The $OEM$ and = distribution=20 folders are deleted from users' computers after Windows = 2000 Setup=20 is completed.

  5. Use the command-line utility=20 xcopy to copy the files and subfolders from the = Windows=20 2000 Integrated SP2 installation CD to E:\i386. For = example, if D:=20 is your CD-ROM drive, type:=20

    xcopy /e /i /v d:\i386=20 e:\i386

  6. Open E:\i386\dosnet.inf and = add svcpack=20 to the [OptionalSrcDirs] section. This section should = already=20 exist with uniproc listed under it.=20

    [OptionalSrcDirs]
    uniproc
    svcpack=20

  7. Create an E:\i386\svcpack = folder.=20
  8. Copy the hotfix executable = program=20 (Q######_XXX_YYY_ZZZ_LL.exe) to the E:\i386\svcpack = folder=20 in the 8.3 naming format (Q######.exe).=20
  9. Expand the hotfix to a = temporary=20 location using the following procedure:=20
    1. Copy sp3.cat to = E:\i386\svcpack=20 folder.=20
    2. Delete any binaries to be = replaced in=20 the \i386 folder (the file name will likely have an _ at = the end=20 in the share).=20
    3. Copy hotfix binaries into = the \i386=20 folder (no need to copy hotfix.exe, hotfix.inf, = spmsg.dll, or=20 symbols files).
  10. Delete the E:\i386\svcpack.in_ = file.=20
  11. Create a new svcpack.inf file = at=20 E:\i386\svcpack.inf of the form:=20

    [Version]
    Signature=3D"$Windows=20 = NT$"

    MajorVersion=3D5
    MinorVersion=3D0
    BuildNumber=3D2195= =20

    [SetupData]
    CatalogSubDir=3D"\i386\svcpack"=20

    [ProductCatalogsToInstall]
    sp3.cat=20

    [SetupHotfixesToRun]
    Q######.exe=20 /switches (the recommended switches for hotfixes = are /q=20 /n /z)

Deploying the Combination Installation

You can deploy the installation of the Windows 2000 = operating=20 system and the Windows 2000 hotfixes to your users' = computers from=20 the network distribution share. During the standard = installation=20 process, Windows 2000 Setup (Winnt.exe or Winnt32.exe in = unattended=20 Setup mode) installs the operating system and applies the = hotfixes.=20

To deploy the installation=20

  1. Verify that the installation = and=20 executable files for the Windows 2000 operating system and = the=20 Windows 2000 hotfixes exist in your distribution = folder.=20
  2. As required, make any = necessary=20 customizations to Windows 2000 Setup.=20
  3. Run Windows 2000 Setup = (Winnt.exe or=20 Winnt32.exe in unattended Setup mode) to deploy the = installation=20 of the Windows 2000 operating system and the Windows 2000 = hotfixes=20 to your users' computers from the network distribution=20 share.

Uninstalling the Service Pack or the = Windows 2000=20 Hotfixes 3D"Back
3D""=20
3D""=20

This section describes the uninstall process for the = service pack=20 and the Windows 2000 hotfixes.=20

Uninstalling the Service Pack

This service pack contains an uninstall feature that you = can use=20 to restore your computer to its previous state. When you run = the=20 Update.exe program to install the service pack, a subfolder = named=20 $ntservicepackuninstall$ is created in your = systemroot=20 folder.=20

You can uninstall the service pack by using Add/Remove = Programs=20 in Control Panel or by running the uninstall program from = the=20 command prompt.=20

Important=20

  • You cannot uninstall a service = pack that=20 you installed by using an integrated installation.=20
  • If you install any programs or = services=20 that require the service pack, uninstalling the service = pack can=20 adversely affect those programs.=20
  • If you installed any = applications after=20 the service pack was installed, you should not uninstall = the=20 service pack.=20
  • The service pack does not = contain system=20 updates=97such as=20 file format, database format, and registry format = changes=97that = Setup cannot=20 uninstall.=20
  • If you turn off the automatic = backup=20 option for Update.exe, you cannot use the uninstall = Service=20 Pack 2 mechanism and, therefore, cannot uninstall = the=20 Service Pack 2.

To uninstall the service pack by using Add/Remove = Programs=20

  1. Click Start, point to=20 Settings, and then click Control = Panel.=20
  2. Double-click Add/Remove = Programs,=20 click Windows 2000 Service Pack 2, and then click=20 Change/Remove.=20
  3. Follow the instructions that=20 appear.

To uninstall the service pack from the command = prompt=20

  1. Click Start, and then = click=20 Run.=20
  2. In the Open box, type = cmd,=20 and then click OK.=20
  3. Change the folder to=20 = systemroot\$NtServicePackUninstall$\spuninst\.=20
  4. Type Spuninst.exe, and = then press=20 ENTER.=20
  5. To close the Command Prompt = window, type=20 exit.

Uninstalling a Windows Hotfix

You can uninstall a Windows 2000 hotfix by using = Add/Remove=20 Programs in Control Panel.=20

To uninstall a Windows 2000 hotfix=20

  1. Click Start, point to=20 Settings, and then click Control = Panel.=20
  2. Double-click Add/Remove = Programs,=20 click Q######, and then click=20 Change/Remove.=20
  3. Follow the instructions that=20 appear.

Information in this document, including URL and other = Internet=20 Web site references, is subject to change without notice. = Unless=20 otherwise noted, the example companies, organizations, = products,=20 people, and events depicted herein are fictitious and no = association=20 with any real company, organization, product, person, or = event is=20 intended or should be inferred. Complying with all = applicable=20 copyright laws is the responsibility of the user. Without = limiting=20 the rights under copyright, no part of this document may be=20 reproduced, stored in or introduced into a retrieval system, = or=20 transmitted in any form or by any means (electronic, = mechanical,=20 photocopying, recording, or otherwise), or for any purpose, = without=20 the express written permission of Microsoft Corporation.=20

Microsoft may have patents, patent applications, = trademarks,=20 copyrights, or other intellectual property rights covering = subject=20 matter in this document. Except as expressly provided in any = written=20 license agreement from Microsoft, the furnishing of this = document=20 does not give you any license to these patents, trademarks,=20 copyrights, or other intellectual property.=20

=A9 2001 Microsoft Corporation. All rights reserved.=20

Active Directory, ActiveX, Microsoft, MS-DOS, Win32, = Windows, and=20 Windows NT are either registered trademarks or trademarks of = Microsoft Corporation in the United States and/or other = countries.=20

This product contains graphics filter software; this = software is=20 based in part on the work of the Independent JPEG Group.=20

The names of actual companies and products mentioned = herein may=20 be the trademarks of their respective owners.=20

 Contact Us   |=20  E-mail this Page   |=20  TechNet Newsletter
 =A9 2003 = Microsoft=20 Corporation. All rights reserved.   Terms of Use  Privacy Statement  Accessibility =
------=_NextPart_000_000B_01C2CDED.91F17960 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.microsoft.com/library/shared/deeptree/asp/rightframe.asp?dtcfg=/technet/treeview/deeptreeconfig.xml&url=/TechNet/prodtechnol/windows2000serv/support/spdeploy.asp?frame=true&hidetoc=false ------=_NextPart_000_000B_01C2CDED.91F17960--