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

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

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.

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.

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...

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.

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.

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:

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 :)

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

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

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

    • No registered users viewing this page.
  • Posts

    • Dead by Daylight, Two Point Museum, and more join Xbox Free Play Days for the weekend by Pulasthi Ariyasinghe There is a brand-new Free Play Days offer available to Xbox players, giving them a chance to try out a new selection of games over the weekend. Microsoft's latest promotion brings some high-profile titles, including the sports title PGA TOUR 2K25 and the racing sim Assetto Corsa. Almost all the games being offered this time require an Xbox Game Pass subscription, with only one title being available for all players. Starting with the fully free-to-play section, Dead by Daylight is populating it solo. This asymmetric survival horror title should be the most familiar to most gamers, considering its age. The multiplayer four-versus-one asymmetric survival horror game has you assuming the roles of survivors or the killer to see who can come out on top. This Dead by Daylight offer will be available to play until Monday, June 22, giving you an extra day of play compared to the remainder of the Free Play Days titles. Meanwhile, Xbox Game Pass Ultimate, Premium, and Essential members can now try out the well-received tycoon game Two Point Museum, the circuit racing sim Assetto Corsa, as well as 2K's golf sim experience that gives players a career to develop alongside real-world pros and courses. Here are the announced games and the platforms they are available to play on: PGA TOUR 2K25 (Xbox Series X|S) Two Point Museum (Xbox Series X|S) Assetto Corsa (Xbox Series X|S, Xbox One) Dead by Daylight (Xbox Series X|S, Xbox One) To easily find the titles on Xbox consoles, first head to the Store, and then in the sidebar, find the Home section. In there, open the Subscriptions tab. All the games from the Free Play Days collection will show up in this section for quick access. Apart from Dead by Daylight's offer, this week's Free Play Days promotions will end on Sunday, June 21, at 11:59 pm PT.
  • Recent Achievements

    • Week One Done
      Huge Trailer earned a badge
      Week One Done
    • Week One Done
      Classifyskilleducation earned a badge
      Week One Done
    • One Month Later
      eurospharma62 earned a badge
      One Month Later
    • Week One Done
      With What earned a badge
      Week One Done
    • Week One Done
      Harris Gilbert earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      590
    2. 2
      +Edouard
      170
    3. 3
      PsYcHoKiLLa
      74
    4. 4
      Michael Scrip
      65
    5. 5
      neufuse
      64
  • Tell a friend

    Love Neowin? Tell a friend!