Jump to content

Doing my own Windows Updates


 Share

Recommended Posts

Hi all.

I recently posted a question at windowsbbs regarding doing windows updates manually using a script. Here is a link to that string of posts if anyone cares.

http://www.windowsbbs.com/showthread.php?t=58518

I tried searching the forums here and found just one thread relating to this specificially.

I am nearing completion of setting up updates to run using a compiled script that reads an ini.

If anyone has any other suggestions before I finish this up, I'd appreciate it.

I'll post my code here too just so you can take a look. It is a little scrappy but it will be cleaned up before I make it live...because that is just how I work.

Currently it reads the ini file and creates a log file and a test file to verify output. I wouldn't try running it on a PC unless you have the .ini file in the correct location. I copied and renamed a generic AutoIT .exe to the XP update names to save space on my flashdrive. I also want to update the variables to follow good naming conventions...maybe (I remember reading about that on the forums somewhere).

; ----------------------------------------------------------------------------
;
; AutoIt Version: 3.2.0.1
; Author:        Chris Frederick
; Last Updated:   10/30/2006
; Script Function:To run windows updates using information read from a .ini
; configuration file.  The .ini file includes script initialization values and
; the KB[number], update file location, Windows Update OS, and the service pack
; version(s) that the update covers.
; 
; ----------------------------------------------------------------------------
;
;Basic operation of script
;1.Read ini file sections.  If file is not there then update log file and exit.
;2.File exists then save number of sections in a variable.
;3.Read the ini file settings section (UPDATEMODE)
;4.If testing mode, then cycle through the ini file and save/display the results of updates.
;5.If live mode, then cycle through each update, verify whether the update needs to be done.
;6.If the update needs to be done then verify the update file is there and run it then go to next update.
;
;AutoIT variables return the values below
;OS Versions: WIN_[XP,2003,NT4,2000,98,ME,95]
;OS Service Pack: Service Pack [1,2,3,4,A,B]
;
;INI configuration of update portion
;[KB[number]]
;FilePath=[includes executeable name]
;OS=WIN_[XP,2003,NT4,2000,98,ME,95]
;ServicePack=Service Pack [1,2,3,4,A,B,all]
;
;
#include <guiconstants.au3>
;
Local $i="",$updUpdate="",$updFilePath="", $updOS="", $updOSServicePack=""
Local $pcOS=@OSVersion, $pcServicePack=@OSServicePack, $pcServicePack=StringReplace($pcServicePack,"Service Pack ","sp")
Local $updMode="", $updRestart="", $updShowProgress="", $updDisplayStartMessage=""
Local $updStartMessage="", $updDisplayEndMessage="", $updEndMessage=""
;$updLogFile is currently not used from the ini file key LogFile
;$updLogFile=""
Local $exePath=@AutoItExe, $scriptPath=@ScriptDir
$scriptLogFile="WinUpdates.log"
$scriptLogFilePath=@UserProfileDir & "\Desktop\TempWorkingArea\WindowsUpdates"
$iniFile="WinUpdates.ini"
$iniFilePath=@UserProfileDir & "\Desktop\TempWorkingArea\WindowsUpdates"
$iniFileFull=$iniFilePath & "\" & $iniFile
$TestFile="TestOutput.txt"
$regHotFixKey="HKEY_Local_Machine\Software\Microsoft\Windows NT\CurrentVersion\HotFix"
$regHotFixKeyVal=""
$regUpdateKey="HKEY_Local_Machine\Software\Microsoft\Updates"
$regUpdateKeyVal=""
$hasHotFix=""
$WriteData=""
;updPrevCount is the list of updates that are shown in the registry before the .ini updates are installed
$updPrevCount=""
;updNeedCount is the list of updates that are in the .ini file that need to be installed
$updNeedCount=0
;updHasCount is the list of updates that are in the .ini file that were previously installed
$updHasCount=0
$updTotal=0
$iSections=0
Global $newTestFile=1, $newLogFile=0
Global $scriptLogFileFull=$scriptLogFilePath & "\" & $scriptLogFile
Global $TestFileFull=$scriptLogFilePath & "\" & $TestFile
$run=0

$iniSectionNames=IniReadSectionNames($iniFileFull)
if @error Then
    WriteLogFile("ini file " & $iniFileFull & " not found.")
Else
    $Run=1
EndIf

;Pull the initial configuration settings from the (updatemode) section
if $Run=1 Then
    $updMode=IniRead($iniFileFull,"updatemode","Mode","testing")
    $updRestart=IniRead($iniFileFull,"updatemode","Restart","No")
    $updShowProgress=IniRead($iniFileFull,"updatemode","ShowProgress","No")
    $updDisplayStartMessage=IniRead($iniFileFull,"updatemode","DisplayStartMessage","Yes")
    $updStartMessage=IniRead($iniFileFull,"updatemode","StartMessage","Generic Start Message")
    $updDisplayEndMessage=IniRead($iniFileFull,"updatemode","DisplayEndMessage","Yes")
    $updEndMessage=IniRead($iniFileFull,"updatemode","EndMessage","Generic End Message")
;The lines below are for debugging
    $message="Mode= " & $updMode & @crlf & "Restart= " & $updRestart & @CRLF & "ShowProgress= " & $updShowProgress & @CRLF
    $message=$message & "DisplayStartMessage= " & $updDisplayStartMessage & @crlf & "StartMessage= " & $updStartMessage & @CRLF
    $message=$message & "DisplayEndMessage=" & $updDisplayEndMessage & @CRLF& "EndMessage= " & $updEndMessage & @CRLF
    MsgBox(0,"UPDATEMODE ini section values",$message)

EndIf

;Exit

while $Run=1

;Store total # of sections in iSections.
    $iSections=$iniSectionNames[0]
;Run through the registry for each update in the .ini file.  Start at section 2 in the ini file which is the first update section.
    For $i=2 To $iSections
;IniRead(filename,section,key,default)

        $iniSection=$iniSectionNames[$i]
        $updFilePath=IniRead($iniFileFull,$iniSection,"FilePath","")
        $updOS=IniRead($iniFileFull,$iniSection,"OS","")
        $updOSServicePack=IniRead($iniFileFull,$iniSection,"ServicePack","")
;
        $count=1
        While $count > 0 
            $regHotFixKeyVal=RegEnumKey($regHotFixKey,$count)
            $sError=@error
            If $sError=0 Then
                $hasHotFix=(StringInStr($regHotFixKeyVal,$iniSection))
            Else
                Select
                    Case $sError = 1
                        $caseErrorMsg="unable to open requested key"
                    Case $sError = 2
                        $caseErrorMsg="unable to open requested main key"
                    Case $sError = 3
                        $caseErrorMsg="unable to remote connect to the registry"
                    Case $sError = -1
                        $caseErrorMsg="unable to retrieve requested subkey (key instance out of range)"
                EndSelect

                $count=-1
            EndIf
;
            If $hasHotFix Then
                $count=-1
            EndIf
            If $i=2 and $count > 0 Then
                $updPrevCount +=1
            EndIf
;Count of updates read from registry before any updates
            $count+=1
        WEnd
;
;Compare the OS and ServicePack of the current OS to the requirements of the service pack
;If the ServicePack=all then spCheck will be true.  This was just a convenience as a few updates cover multiple OSes
;and service packs.
;If both OS and service pack match the .ini file values then $runSP equals True
                $osCheck=($pcOS=$updOS)
                $spCheck=((StringInStr($updOSServicePack,$pcServicePack)) <> 0 or ($pcServicePack=($updOSServicePack="all")))
                $runSP=$osCheck and $spCheck
            if not $hasHotFix Then
;               $osCheck=($pcOS=$updOS)
;               $spCheck=((StringInStr($updOSServicePack,$pcServicePack)) <> 0 or ($pcServicePack=($updOSServicePack="all")))
;               $runSP=$osCheck and $spCheck
                if $runSP Then
                    $updNeedCount += 1
                    WriteTestFile($updNeedCount & " Needs hotfix " & $iniSection)
                    if FileExists($updFilePath) Then
                ;run update executeable
                    Else
                ;MsgBox(0,"File not found","Update " & $iniSection & " not found at " & $updFilePath & @CRLF)

                    EndIf
                Else
                    WriteTestFile("Has hotfix " & $iniSection)
                    $updHasCount +=1
                EndIf
            EndIf
;*** Fix repeating of "has hotfix"  911567 and 917344           
    Next
    WriteTestFile("updNeedCount= " & $updNeedCount & @CRLF & "updHasCount= " & $updHasCount & @CRLF & "iSections= " & $iSections & @CRLF)
    WriteTestFile("Total hotfixes previously installed " & $updPrevCount)

    msgbox(0,"OS Information","OS Version=" & @OSVersion & @CRLF & "OS Build=" & @OSBuild & @CRLF & "OS Service Pack=" & @OSServicePack)

    $run=0

WEnd


Func WriteLogFile($WriteData)
    $fileMode=1
    if $newLogFile=1 then
        $fileMode=2
        $newLogFile=0
    EndIf
    $time=@YEAR & ":" & @MON & @MDAY & ":" & @HOUR & @MIN & @SEC
;1=Append to end of file, 2=Overwrite file
    $File=FileOpen($scriptLogFileFull, 1)
    If $File=-1 Then
        MsgBox(1,"File open error", "Error= " & @error & @CRLF & "Unable to open the " & $scriptLogFileFull & " file " & @CRLF & @CRLF & "Timeout in 5 seconds",5)
    Else
        FileWriteLine($File,$time & " - " & $WriteData)
    EndIf
    FileClose($File)
EndFunc

Func WriteTestFile($WriteData)
    $fileMode=1
    if $newTestFile=1 then
        $fileMode=2
        $newTestFile=0
    EndIf
    $File=FileOpen($TestFileFull,$fileMode)
    if $File=-1 Then
        MsgBox(1,"File open error", "Error= " & @error & @CRLF & "Unable to open the " & $TestFileFull & " file " & @CRLF & @CRLF & "Timeout in 5 seconds",5)
    Else
        FileWriteLine($File,$WriteData)
    EndIf
    FileClose($File)
EndFunc
Edited by LostUser

Be open minded but not gullible.A hammer sees everything as a nail ... so don't be A tool ... be many tools.

Link to comment
Share on other sites

I tried to attach my ini file but didn't seem to work. Here is the ini...

Also, the web link below was a good resource for identifying updates.

http://www.softwarepatch.com/windows/index.html

;Update sections format
;[KB[number]]
;FilePath=[complete path to executeable including executeable name]
;OS=WIN_[XP/2003/NT4/2000/98/ME/95] *note* Only one OS in this vaule
;ServicePack=[sp1,sp2,sp3,sp4,spA,spB,all] *note* separate servicepacks by commas ie.
;sp1,sp2,spA,etc.,.
;
;
;If the same update file covers more than one OS, make a new section for that OS.
;If the same update file covers multiple service packs of an OS then the service packs can be;separated by commas and do not need to be in a separate section.
;If the same update file covers ALL the service packs of an OS then just put all for
;ServicePack
;
;UpdateMode section format
;
;UPDATEMODE
;Mode=
;Restart=
;ShowProgress=
;DisplayStartMessage=
;StartMessage=
;DisplayEndMessage=
;EndMessage=
;LogFile= *This option is currently not used*
;ScriptLogFile=
;
;
;
[UPDATEMODE]
;----------------------------------------------------------------------------------------------
;Mode= [live,testing]
;
;Testing: Will display a message showing the OS and Service Pack of the OS of the machine.
;The equivalent switches for the update executeable that pertain to the UPDATEMODE settings 
;will be displayed.  Updates that are on the machine and all the updates that would have 
;been run on that machine will be displayed.  Also the path to the update executeable will be
;checked and if not found, [file not found] will be displayed for that update.
;Live: Will do any updates that apply.
;----------------------------------------------------------------------------------------------
;
Mode=testing
;
;----------------------------------------------------------------------------------------------
;Restart=[No/Yes]
;
;*NOTE*Options for the restart apply only after ALL the service packs are done.  However, it is
;always recommended to restart a PC after any updates are installed.
;No: Does not restart after the updates are applied
;Yes: Restarts after all the updates are applied
;----------------------------------------------------------------------------------------------
;
Restart=No
;
;----------------------------------------------------------------------------------------------
;ShowProgress= [Yes/No]
;
;Yes: Will run unattended but display a progress bar
;No: Will run unattended and display no progress bar
;----------------------------------------------------------------------------------------------
;
ShowProgress=Yes
;
;----------------------------------------------------------------------------------------------
;DisplayStartMessage= [Yes/No]
;
;Yes: Will display the StartMessage
;No: Will not display the StartMessage
;----------------------------------------------------------------------------------------------
;
DisplayStartMessage=Yes
;
;----------------------------------------------------------------------------------------------
;StartMessage= ["message"]
;
;StartMessage is the message that will be displayed when the update program is first run.
;This message box can be moved and shrunk.  If the box is cancelled, the updates will be 
;cancelled after the currently running update is finished and a message indicating this will be
;displayed.
;----------------------------------------------------------------------------------------------
;
StartMessage="Updates are being run on this computer."
;
;----------------------------------------------------------------------------------------------
;DisplayEndMessage=[Yes/No]
;----------------------------------------------------------------------------------------------
;
DisplayEndMessage= Yes
;
;----------------------------------------------------------------------------------------------
;EndMessage= ["message"]
;
;A message is displayed after all updates are done if the DisplayEndMessage option is
;set to Yes.
;----------------------------------------------------------------------------------------------
;
EndMessage= "Updates have been installed on this computer.  It is reccommended that the computer be restarted."
;
;----------------------------------------------------------------------------------------------
;Logfile= Yes,No *This option is currently not used*
;
;*NOTE* Make sure the location that the LogFile will be saved is read/write enabled.
;If the update is successful, it creates its own logfile in the %sys32% directory.
;The name will usually start with the KB#.
;If there is no path for the script logfile, no logfile will be created.
;
;----------------------------------------------------------------------------------------------
;
;Logfile=
;
;----------------------------------------------------------------------------------------------
;ScriptLogFile= [only the fullpath of the script logfile, no name]
;
;*NOTE* Make sure the location that the ScriptLogFile will be saved is read/write enabled.
;The name of the ScriptLogFile will start with the ComputerName.  The ScriptLogFile will log 
;various information about the script as it runs.  If there is no path for the script logfile, 
;no logfile will be created.
;
;----------------------------------------------------------------------------------------------
;
ScriptLogFile=\\grfsmn1\vol1\grystall\logs\WinUpdates\
;


[KB911567]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\2000_xp\OE6.0sp1-KB911567-Windows-2000-XP-x86-ENU.exe
OS=WIN_2000
ServicePack=all

[KB911567]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\2000_xp\OE6.0sp1-KB911567-Windows-2000-XP-x86-ENU.exe
OS=WIN_XP
ServicePack=all

[KB917344]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\2000_xp\WindowsXP-Windows2000-Script56-KB917344-x86-enu.exe
OS=WIN_2000
ServicePack=all

[KB917344]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\2000_xp\WindowsXP-Windows2000-Script56-KB917344-x86-enu.exe
OS=WIN_XP
ServicePack=all

[KB918439]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1\IE6.0sp1-KB918439-Windows-2000-XP-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1

[KB918899]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1\IE6.0sp1-KB918899-Windows-2000-XP-v3-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1

[KB890830]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\Windows-KB890830-V1.21.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB911564]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsMedia-KB911564-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB917734]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\2000_xp\WindowsMedia9-KB917734-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB873339]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB873339-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB885835]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB885835-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB885836]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB885836-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB888302]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB888302-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB890046]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB890046-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB890859]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB890859-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB891781]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB891781-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB893756]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB893756-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB894391]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB894391-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB896358]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB896358-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB896423]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB896423-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB896424]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB896424-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB896428]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB896428-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB899587]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB899587-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB899589]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB899589-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB899591]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB899591-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB900725]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB900725-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB901017]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB901017-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB901214]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB901214-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB902400]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB902400-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB904706]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB904706-v2-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB905414]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB905414-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB905749]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB905749-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB910437]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB910437-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB911280]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB911280-v2-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB911562]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB911562-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB911927]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB911927-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB912919]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB912919-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB913446]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB913446-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB913580]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB913580-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB914388]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB914388-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB914389]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB914389-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB917422]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB917422-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB917953]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB917953-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB919007]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB919007-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB920670]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB920670-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB920683]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB920683-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB920685]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB920685-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB921398]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB921398-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB922616]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB922616-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB922819]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB922819-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB923191]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB923191-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB923414]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB923414-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB924191]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB924191-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB924496]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp1sp2\WindowsXP-KB924496-x86-ENU.exe
OS=WIN_XP
ServicePack=sp1,sp2

[KB886185]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp2\WindowsXP-KB886185-x86-enu.exe
OS=WIN_XP
ServicePack=sp2

[KB887472]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp2\WindowsXP-KB887472-x86-enu.exe
OS=WIN_XP
ServicePack=sp2

[KB900485]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp2\WindowsXP-KB900485-v2-x86-ENU.exe
OS=WIN_XP
ServicePack=sp2

[KB916595]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp2\WindowsXP-KB916595-x86-ENU.exe
OS=WIN_XP
ServicePack=sp2

[KB918439]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp2\WindowsXP-KB918439-x86-ENU.exe
OS=WIN_XP
ServicePack=sp2

[KB918899]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp2\WindowsXP-KB918899-x86-ENU.exe
OS=WIN_XP
ServicePack=sp2

[KB920214]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp2\WindowsXP-KB920214-x86-ENU.exe
OS=WIN_XP
ServicePack=sp2

[KB920872]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp2\WindowsXP-KB920872-x86-ENU.exe
OS=WIN_XP
ServicePack=sp2

[KB922582]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp2\WindowsXP-KB922582-x86-ENU.exe
OS=WIN_XP
ServicePack=sp2

[KB925486]
FilePath=\\grfsmn1\vol1\installs\windowsupdates\sp2\WindowsXP-KB925486-x86-ENU.exe
OS=WIN_XP
ServicePack=sp2

Be open minded but not gullible.A hammer sees everything as a nail ... so don't be A tool ... be many tools.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...