I now present to you, an Autopatcher Replacement


Recommended Posts

I’m Proud to announce an autopatcher replacement. The Process isn’t as automated as autopatcher, this is to say you can’t just download one big file and have all the updates. Though that same luxury is what got autopatcher spanked in the first place.

The new process will require you to create your own file, but once you do you can reuse the file on many newly installed XP machines.

This new process has to do with the windows softwaredistribution folder (C:\windows\softwaredistrubution). This is the location where windows stores the automatic updates before it installs them. This is what the process entails. First create a fresh install of XP (preferable in vmware) set automatic updates to “Download updates for me, but let me choose when to install them”. Then wait until all 82 updates have been downloaded but do not install them. You then copy the contents of the softwaredistribution folder to a desired location and create a self extracting zip of the folder called “xpupdates.exe” that automatically extracts to c:\windows\softwaredistrubution. Once done you can use that self extracting exe on any fresh install XP machines requiring updates.

So is this just like autopatcher, well no!. But it will take you less than a few mins to implement and save you alot of downloading time for windows XP updates. Installing all 82 updates on a machine with 256 megs of ram took all of 7 mins, in comparison to autopatcher that took 30 + mins

The process does require an internet connection just to say "hey what up" to the automatic update server, but then again if the computer didn't have an internet connection then the security updates wouldn't be that important anyway.

The updates being acquired are done so on machines that haven't even been activated let a lone validated, so these are updates any computer has access to, and you would not be bypassing WGA validation.

I’d recommend putting that file on a thumbstick or a cd. When you are ready to update an XP machine you are going perform the following tasks

1) Set the automatic update to “Download updates for me, but let me choose when to install them”

2) Stop the automatic update service via services.msc

3) Delete the contents of the software distribution folder

4) Extract xpupdates.exe

5) Turn automatic updates back on

6) Run a script which tells automatic updates to check for updates

Once windows checks for updates it will see there are updates available, but it will also see they are already on the machine, and will just prompt you to install them, without having to download anything.

Instead of having to complete the following tasks on a new machine, I’ve tried simplifying the process via a batch file. All that is required of you is that you have a file called xpupdates.exe on any mountable media with all the updates you with to apply.

Below is the batch file code

And the actual batch file

@echo off

cls

Echo Welcome to the Neowin.net XP softwaredistrubution updater

Echo This process will Stop the Automatic Update service, clear the softwaredstrubution folder, copy the new updates to the software distrubution folder, then restart the automatic update service and force automatic updates to check for updates

Echo When you are ready to begin

Pause

cls

echo Stopping the Automatic Update Service

net stop wuauserv

cls

echo deleting contents of the softwaredistrubution folder

rd C:\windows\SoftwareDistribution\authcabs /s /q

rd C:\windows\SoftwareDistribution\datastore /s /q

rd C:\windows\SoftwareDistribution\download /s /q

rd C:\windows\SoftwareDistribution\selfupdate /s /q

del C:\windows\SoftwareDistribution\ /q

cls

set /p drive=Please enter the drive letter where the updates are located (example d:) :

%drive%\updates\xpupdates.exe

cls

net start wuauserv

wuauclt /detectnow

@echo off

Echo This AU client will now check for the Updates on the Local WSUS Server.

Pause

The batch file will be presented as Neowin.net if that works for all of you?

the batch file has not been thoroughly tested, so I need you guys to help me test it, and if you want to add new things to it, please post your ideas in this thread, and together we can make a really great autopatcher replacement.

also any idiots out there that feel it their duity to rate this thread a 1 star, please leave a comment and share your opinions

Here is a video explaining how this process works http://www.vidilife.com/index.cfm?f=media....9C6-47FB-8503-C

autoupdate.zip

Edited by warwagon
Link to comment
Share on other sites

It's his way he found out, and it nice you took the time. Thanks War! <3

I typed C: when I asked where the **** was located, then it said some error, blah blah, but then it seemed to keep working through.

Link to comment
Share on other sites

ya I pretty much suck at coding, i'm surprised I even got it working thus far. So if anyone could write some code that could detect if the file isn't there and restart the service and just exit

Link to comment
Share on other sites

Just seen this on the forum dropdown list and then my work PC decided it wasn't going to load webpages. GAAH!

working now (obviously) well done war

Link to comment
Share on other sites

First portion of the VBS code is this:

Const wshYes = 6
Const wshNo = 7
Const wshYesNo = 4
Const wshinformation = 64
Const wshOkOnly = 0

Set objShell = CreateObject("Wscript.Shell")

Start=objShell.Popup("Welcome to the Neowin.net XP software distrubution updater. This Program makes changes to the Windows Update System. Do you wish to continue?", 10, "Auto Update by Warwagon", wshYesNo+wshInformation)

If Start = wshNo Then

Wscript.Quit

Else If Start = wshYes Then

Start=objShell.Popup("Stopping Windows Update Service, Please wait...", 01, "Auto Update by Warwagon", wshOKOnly+wshInformation)
objShell.Run ("net stop wuauserv"),,True

Start=objShell.Popup("Deleting contents of Software distribution folder, Please wait...", 01, "Auto Update by Warwagon", wshOKOnly+wshInformation)
objShell.Run ("cmd /c rd C:\windows\SoftwareDistribution\authcabs /s /q"),,True
objShell.Run ("cmd /c rd C:\windows\SoftwareDistribution\datastore /s /q"),,True
objShell.Run ("cmd /c rd C:\windows\SoftwareDistribution\download /s /q"),,True
objShell.Run ("cmd /c rd C:\windows\SoftwareDistribution\selfupdate /s /q"),,True
objShell.Run ("cmd /c del C:\windows\SoftwareDistribution\ /q"),,True

Wscript.quit

End If
End If

If i get time i will write the rest of the code soon for you.

Link to comment
Share on other sites

OK, i have updated the version from above, because it had an error if the file was not on the drive you specified.

The new script will allow the user to enter the full location of any file name, so instead of looking specifically for xpupdates.exe, you could call it teh_haxord_updates.exe and so long as you point it to that file, it will run it.

If it does not find the file you specified, it will give you an error and allow you to specify the location again. You have 3 tries, after which you will need to re-run the script in order to try again.

You can run the script on any version of windows that has windows updates on it that allows scripts to run.

Please let me know if you find any errors or have any change requests with the script and i will be pleased to help.

Link to comment
Share on other sites

Point of note: use the environment variable %WINDIR% to get around "Windows not installed on C:" difficulties (right-click My Computer --> Properties: Advanced tab --> Environment Variables button to see your own). Installations don't have to be on C:, or even in a directory called "windows".

You could even use %COMSPEC% to get an absolute path to cmd.exe...

Link to comment
Share on other sites

Point of note: use the environment variable %WINDIR% to get around "Windows not installed on C:" difficulties (right-click My Computer --> Properties: Advanced tab --> Environment Variables button to see your own). Installations don't have to be on C:, or even in a directory called "windows".

You could even use %COMSPEC% to get an absolute path to cmd.exe...

That is a good point mate. I never thought of that.

Ill correct it and upload an updated version.

Link to comment
Share on other sites

Its only a simple script mate. Not a lot to close really. Anyone with a little knowledge of windows scripting could make this.

Well you didn't, so give the author his credit. Nice work on being another garden variety jackass in Neowin.

Link to comment
Share on other sites

Well you didn't, so give the author his credit. Nice work on being another garden variety jackass in Neowin.

Actually i did.

Of course you ran the script before making that comment about me, right? ;) As you made yourself look foolish with the comment, ill let it slip and not report you for directly insulting a fellow member this time ;)

He did actually,

Cheers for backing me up there mate. :)

I am assuming you are talking about yourself

Lol. Quite :rofl:

Link to comment
Share on other sites

Here is an update version which points to %windir% instead of C:\. Should sort out a few issues with the script :)

This one is not encrypted. I dont see the point now seeing as scripts are so easy to decrypt and there is no big secret in the scripting :)

Link to comment
Share on other sites

Good work Rich

If even 1 person finds this method helpful then it'll be all worth it

Yep.

If people could download, try and present their feedback that would be cool. I'm looking to make it more friendly, by adding a feature which will download the updates from Windows Update, compile them to a ZIP or EXE file and will do all the necessary as well.

I'm then looking to convert all the information to VB (when i learn how ;)). So it will be an executable

Link to comment
Share on other sites

Yep.

If people could download, try and present their feedback that would be cool. I'm looking to make it more friendly, by adding a feature which will download the updates from Windows Update, compile them to a ZIP or EXE file and will do all the necessary as well.

I'm then looking to convert all the information to VB (when i learn how ;)). So it will be an executable

ya there are a bunch of good programmers on this site, if only a 1 of them would take your wonderful script and turn it into VB

Link to comment
Share on other sites

ya there are a bunch of good programmers on this site, if only a 1 of them would take your wonderful script and turn it into VB

Yeah and let me know how they did it, so i can start to get some understanding of VB rather than just learning scripts.

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.