LostUser Posted October 31, 2006 Share Posted October 31, 2006 (edited) 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=58518I 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).expandcollapse popup; ---------------------------------------------------------------------------- ; ; 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 October 31, 2006 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 More sharing options...
LostUser Posted October 31, 2006 Author Share Posted October 31, 2006 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.htmlexpandcollapse popup;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 More sharing options...
Confuzzled Posted November 7, 2006 Share Posted November 7, 2006 Have you looked at AutoPatcher? Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now