Jump to content

Windows XP Updates Downloader


Recommended Posts


Hey , Whats up with the development. really looking forward to this tool.

Right now I'm disecting the XML file that nuhi showed me. I've found a link to a more recent version of it that's still being maintained. If everything goes well, you'll be able to download updates all the way back to windows 98! Though I may simply code support only for Windows 2000/XP/2003.

Link to comment
Share on other sites

  • 2 weeks later...
Not really sure what your point is here - this topic is about a hotfix downloader for XP. My point was that we dont really need another tool to integrate these.... And before anyone says it, if you are in a corporate enviroment and are not using some form of server-based update then have a word with your IT dept....

On the contrary, I would love to have a CD-ROM with all of the hofixes on it and an accompanying utility that would install all of the ones not already installed. I sometimes get called to an office where things are obviously FUBAR, and to run 20 workstations through a Windows Update routine would just take too long. Sure it would line my pockets pretty nice with the hourly rate I charge, but I don't operate like that. I like to get in and get out with the customer up, running, and smiling as quickly as possible.

The other point. There TONS of smaller outfits where running WSUS is simply not an option. I simply cringe everytime I enter one of these offices, but there are indeed still a lot of small offices running on an NT4 domain. Or a small outfit that has one single server that does everything (usually SBS) and adding one more thing to the server would not be a great idea.

I have a kixtart script that I put on a flash drive to apply all hotfixes (XP only) present in a folder that are already not installed.

put kix32 and this script (install.kix) on the flashdrive

make a subfolder called winxp and dump all hotfixes there

create an autorun.inf on the drive to prompt an autorun

[autorun]  
Action=Install All Updates
Open=kix32.exe .\install.kix

break on

if ingroup("\\@wksta\Administrators") ;Do not run section if not local admin
;************************************ XP HotFix Updates *****************************************
$arrkey = arrEnumKey('HKLM\SOFTWARE\Microsoft\Updates\Windows XP\SP3')
$arrdir = FileList(@scriptdir+'\WinXP','.exe',1)
if not @error
$reboot = 0
for each $dir in $arrdir
$installed = 0
$parsed = split($dir,'-')[1]
for each $key in $arrkey
if $key = $parsed $installed = 1 endif
next
if not $installed
$=sendmessage(@wksta,"A CRTICAL upgrade is now starting. Your computer will restart on it's own in about 2-3 minutes. Please do not open any programs. There is no need to click the OK button.")
? color c+/n ' Installing Security Update '+$parsed
shell '%comspec% /c ' + $dir + ' /passive /norestart'
$reboot = 1
endif
next
endif

shell @scriptdir+'\custom.cmd'

if $reboot
ShutDown ('', 'Updates have been applied that require your computer to restart', 5, 1, 1)
quit
endif
endif




;***************************************************************************************************
*
;Function will return an error value if registry key does not exist
function arrenumkey($regkey)
dim $Keylist, $c
if not keyexist($regkey) exit 87 endif
do
$Key = $Key+'|'+enumkey($regkey,$c)
$c = $c + 1
until @error
$arrenumkey = split(substr($Key,2,len($Key)-2),'|')
Endfunction
;***************************************************************************************************
*
;***************************************************************************************************
*
;Function returns array of all files in a folder, similar to a DOS DIR command
Function FileList($folderName,optional $mask, optional $path)
Dim $objDir, $fullpath, $t, $objfile
$objDir = CreateObject("Scripting.FileSystemObject")
if not @error ; usually folder not found
$files=$objDir.GetFolder($folderName).Files
$Fullpath=iif($path,$foldername+'\','')
For Each $objFile In $files
$name=$objFile.name
if ($mask and instr($name,$mask)) or not $mask
$t=$t+'|'+$Fullpath+$name
endif
Next
$FileList=split(substr($t,2),'|')
else
?color r+/n 'FSO Create Object error: ' @serror color w/n
endif
exit iif(len($t)>1,0,1)
EndFunction

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...

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
  • Recently Browsing   0 members

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