|
|
<!--
Copyright (c) 1998-99 by Microsoft Corporation ctltest.htm
Owner: YAsmi
--> <HTML> <BODY> <OBJECT CLASSID="clsid:CEBC955E-58AF-11D2-A30A-00A0C903492B" HEIGHT="0" ID="WUV3IS" WIDTH="0"></OBJECT>
<div backgroundcolor=lightblue> <div backgroundcolor=blue width=10%> </div> </div>
<br> Puid <INPUT NAME=txtPUID TYPE=TEXT>
<button id=cmdSelect>Select</button> <button id=cmdUnSelect>UnSelect</button> <button id=cmdRemoveSelect>Select For Removal</button> <button id=cmdDependancies>Show Dependancies</button>     <button id=cmdPersonHide>Person Hide</button>     <button id=cmdPersonUnHide>Person Unide</button>     <p> <button id=cmdRefresh>Refresh</button>     <button id=cmdInstallSelected>Install Selected Items</button>     <button id=cmdRemoveSelected>Remove Selected tems</button>     <button id=cmdShowHistory>Show History</button>     <button id=cmdShowMetrics>Show Metrics</button>     <button id=cmdShowEULAs>Show EULAs</button>     <button id=cmdSetStrings>Set Strings</button>     <p>
<IFRAME WIDTH= 100% HEIGHT=80% id=fraDisplay></IFRAME>
<SCRIPT LANGUAGE="VBScript">
Option Explicit
'const Server = "http://yasmi2/v3content2" 'const Server = "http://wusite/v3site/3-5-99" 'const Server = "http://fear/v3content/test/bld18" const Server = "http://fear/v3content/beta/bld75/ident"
const Locale = "0x00000409"
Dim CatPuid
Sub Window_OnLoad() cmdSetStrings_OnClick Display End Sub
Sub Display() dim html Dim Force98
Force98 = False html = "" CatPuid = 0 if Not Force98 then html = html & GetCatalogHTML("Catalog List", 0, 0) end if
if CatPuid = 0 then 'force html = html & GetCatalogHTML("Forced Catalog 90702", 90702, 2) else html = html & GetCatalogHTML("Product Catalog " & CStr(CatPuid), CatPuid, 0) end if 'html = html & GetItemHTML("Item 19", 19) 'html = html & GetItemHTML("Item 79", 79)
fraDisplay.document.body.innerHTML = html
End Sub
Sub cmdRemoveSelect_OnClick() Dim Flag if txtPUID.Value = "" or Not IsNumeric(txtPUID.value) then MsgBox "Please enter a PUID first" Exit Sub end if
Flag = &H44 'REMOVE+SELECT
WUV3IS.ChangeItemState CLng(txtPUID.Value), Flag End Sub
Sub cmdSelect_OnClick() Dim Flag if txtPUID.Value = "" or Not IsNumeric(txtPUID.value) then MsgBox "Please enter a PUID first" Exit Sub end if
Flag = &H04 'SELECT
WUV3IS.ChangeItemState CLng(txtPUID.Value), Flag End Sub
Sub cmdUnSelect_OnClick() Dim Flag if txtPUID.Value = "" or Not IsNumeric(txtPUID.value) then MsgBox "Please enter a PUID first" Exit Sub end if
Flag = &H08 'UNSELECT
WUV3IS.ChangeItemState CLng(txtPUID.Value), Flag End Sub
Sub cmdPersonUnHide_OnClick() Dim Flag if txtPUID.Value = "" or Not IsNumeric(txtPUID.value) then MsgBox "Please enter a PUID first" Exit Sub end if
Flag = &H80 'ITEM_STATE_PERSONALIZE_UNHIDE
WUV3IS.ChangeItemState CLng(txtPUID.Value), Flag End Sub
Sub cmdPersonHide_OnClick() Dim Flag if txtPUID.Value = "" or Not IsNumeric(txtPUID.value) then MsgBox "Please enter a PUID first" Exit Sub end if
Flag = &H10 'ITEM_STATE_PERSONALIZE_HIDE
WUV3IS.ChangeItemState CLng(txtPUID.Value), Flag End Sub
Sub cmdRefresh_OnClick() Display End Sub
Sub cmdSetStrings_OnClick() Dim Strs
exit sub
Strs = Array( _ "Download*progress:", _ "Download*time*remaining:", _ "Install*progress:", _ "Cancel*", _ "%d KB/%d KB*", _ "%d sec*", _ "%d min*", _ "%d hr %d min*", _ "Microsoft*Windows*Update", _ "You*must*restart Windows so that installation can finish.", _ "Do*you want*to restart now?")
WUV3IS.SetStrings Strs, 0 End Sub
Sub cmdInstallSelected_OnClick() Dim Arr Dim I Dim J Dim S
Arr = WUV3IS.InstallSelectedItems(Server, 0, "")
S = "" For I = 0 To UBound(Arr) For J = 0 to UBound(Arr, 2) S = S & Arr(I, J) & "," Next S = S & vbCrlf Next
MsgBox S
WUV3IS.FinalizeInstall 1 End Sub
Sub cmdRemoveSelected_OnClick() WUV3IS.RemoveSelectedItems()
End Sub
Sub cmdShowMetrics_OnClick()
Dim Arr Dim I Dim J Dim S
Arr = WUV3IS.GetInstallMetrics()
S = "" For I = 0 To UBound(Arr) For J = 0 to UBound(Arr, 2) S = S & Arr(I, J) & "," Next S = S & vbCrlf Next MsgBox S
End Sub
Sub cmdShowHistory_OnClick()
Dim Arr Dim I Dim J Dim S Dim U
Arr = WUV3IS.GetInstallHistory
S = "" U = UBound(Arr) For I = 0 To U if (U - I) <= 5 then For J = 0 to UBound(Arr, 2) S = S & Arr(I, J) & "," Next S = S & vbCrlf end if Next MsgBox S, 0, "History (Last Few Entries)"
End Sub
Sub cmdShowEULAs_OnClick()
Dim Arr Dim I Dim J Dim S
S = WUV3IS.GetContentURL() MsgBox "Content URL: " & S
Arr = WUV3IS.GetEula() S = "" For I = 0 To UBound(Arr) For J = 0 to UBound(Arr, 2) S = S & Arr(I, J) & "," Next S = S & vbCrlf Next MsgBox S
End Sub
Sub cmdDependancies_OnClick()
Dim Arr Dim I Dim S
if txtPUID.Value = "" or Not IsNumeric(txtPUID.value) then MsgBox "Please enter a PUID first" Exit Sub end if Arr = WUV3IS.GetDependencyList(CInt(txtPUID.value))
S = "" For I = 0 To UBound(Arr) S = S & CStr(Arr(I)) S = S & vbCrlf Next MsgBox S
End Sub
function GetCatalogHTML(Title, Puid, Platform)
Dim html Dim i Dim j Dim Arr Dim sCol
Dim Filter
Filter = &H800 'show personalized hidden items as well Arr = WUV3IS.GetCatalog(Puid, Server, Platform, Locale, Filter, 0)
html = "<H1>" & Title & "</H1><P> <TABLE BORDER=1>"
For i = 0 To UBound(Arr)
if Puid = 0 then CatPuid = Arr(0, 0) end if
html = html & "<TR>"
For j = 0 to ubound(Arr, 2) if j = 2 then 'description sCol = Left(Arr(i, j), 60) & " ..." elseif j = 3 then 'ItemStatus sCol = ItemStatusString(CLng(Arr(i, j))) else sCol = Arr(i, j) end if
html = html & "<TD>" & sCol & "</TD>" Next html = html & "</TR>" Next html = html & "</TABLE><P>" GetCatalogHTML = html
End Function
function GetItemHTML(Title, Puid)
Dim html Dim j Dim Arr Dim sCol Arr = WUV3IS.GetCatalogItem(Puid)
html = "<H1>" & Title & "</H1><P> <TABLE BORDER=1>"
html = html & "<TR>"
For j = 0 to ubound(Arr) if j = 2 then 'description sCol = Left(Arr(j), 60) & " ..." elseif j = 3 then 'ItemStatus sCol = ItemStatusString(CLng(Arr(j))) else sCol = Arr(j) end if
html = html & "<TD>" & sCol & "</TD>" Next html = html & "</TR>" html = html & "</TABLE><P>" GetItemHTML = html
End Function
Function ItemStatusString(lStatus)
Dim S S = CStr(lStatus)
AddFlag S, lStatus, "HIDDEN" , &H00000001 'Catalog item hidden. AddFlag S, lStatus, "SELECTED" , &H00000002 'Catalog item selected for installation. AddFlag S, lStatus, "NEW" , &H00000004 'Catalog item is a new offering. AddFlag S, lStatus, "POWER" , &H00000008 'Catalog item is best for power users. AddFlag S, lStatus, "REGISTRATION" , &H00000010 'Catalog item requires that the client be registered. AddFlag S, lStatus, "COOL" , &H00000020 'Catalog item is considered an interesting item. AddFlag S, lStatus, "PATCH" , &H00000040 'Catalog item is a patch so requires special handling. AddFlag S, lStatus, "SECTION" , &H00000080 'Catalog item is a section header. AddFlag S, lStatus, "SUBSECTION" , &H00000100 'Catalog item is a sub section header. AddFlag S, lStatus, "SUBSUBSECTION" , &H00000200 'Catalog item is a sub sub section header. AddFlag S, lStatus, "CRITICALUPDATE", &H00004000 'Catalog item is marked as a critical update item. AddFlag S, lStatus, "EXCLUSIVE" , &H00008000 'Catalog item is exclusive it cannot be selected with other components.
AddFlag S, lStatus, "INSTALL" , &H00000400 AddFlag S, lStatus, "UPDATE" , &H00000800 AddFlag S, lStatus, "CURRENT" , &H00001000 AddFlag S, lStatus, "UNKNOWN" , &H00002000 AddFlag S, lStatus, "PERSON-HIDE" , &H00010000
ItemStatusString = S End Function
Sub AddFlag(ioStr, lValue, sFlagText, lFlag) if (lValue AND lFlag) <> 0 then if ioStr <> "" then ioStr = ioStr & "<BR>" End If ioStr = ioStr & sFlagText End If End Sub
</SCRIPT>
</BODY> </HTML>
|