LostUser Posted October 31, 2006 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.
LostUser Posted October 31, 2006 Author 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.
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