Jump to content

Post XP_SP2 Hot fix integration for existing OS installations


Recommended Posts

Hello MSFN community :),

I am trying to devise a way to deploy all existing critical hot fixes on to computers with Windows XP Service Pack 2 via a mass integration scheme(aside from IE6, IE7, and Media player along with any of there respective updates). I know there are a lot of "pre-installation" techniques that can be use to achieve this sort of integration i.e. nLite, run once, ect, but what "post" installation options do i have? Could i create one single file that is like a mini service pack?

Among other reason this is to avoid having numorus Hot Fix back up files(that take up other wise useful hard drive space), but more important is that this is to avoid a conflict with the laptops battery controllers as there seems to be some sort of conflict within the OS if i try to integrate type 1 and 2 hot fixes into the deployment ISO.

-Thanks in adcance

Link to comment
Share on other sites


But RyanVM your update ack does not meet his needs. His is looking to install missing updates on already running machines.

I wrote a vbscript that does this. I downloaded all of the post sp2 updates I wanted and put them in a folder, then created a csv file containg the hotfix file name and the registry key indicating if it had been installed. then the vbscript would read the csv file and check to see if the hitfix had been installed and if not install it on the machine silently and without reboot and then continue through the list until reaching the end.

Link to comment
Share on other sites

Yay for me not being able to read :P.

If you already have all the hotfixes downloaded, you could quite easily write a script which parsed a directory of hotfixes (really easy if they're named KBxxxxxx.exe) and used a simple registry query to HKLM\Software\Microsoft\Updates\SP3 to determine whether or not each specific fix has been installed, installing it if it hasn't been.

Edited by RyanVM
Link to comment
Share on other sites

Yay for me not being able to read :P.

If you already have all the hotfixes downloaded, you could quite easily write a script which parsed a directory of hotfixes (really easy if they're named KBxxxxxx.exe) and used a simple registry query to HKLM\Software\Microsoft\Updates\SP3 to determine whether or not each specific fix has been installed, installing it if it hasn't been.

Yes i have already downloaded the hot fixes that are needed using Windows Update Down loader(Thank you creators of WUD). Like i said before though, integrating the hot fixes to the distributions ISO results in a driver conflict with the laptops battery AC/APCI controllers(all i could find out about this is that it does something to windows driver sign policy). However post installation of the hot fixes does not create the software conflict.

The method that you describe above sounds intriguing, where could i find more information regarding the steps needed to do it that way?

As ultimately i would like to have the post SP2 hot fixes integrate them selfs into the OS without leaving uninstall/backup files in the WINDOWS directory. the only except for that is the desire to keep the identification tags in the add/remove programs application list to let the end users know that the updates have been added (i don't know if that last part about the add/remove tags without an edit option is possible though).

-Thanks in advance.

Link to comment
Share on other sites

  • 2 weeks later...

I don't know if the original poster of this one is reading or not but the thing I just finished (Batch Patcher) might fit for what you're wanting. Point it to the directory you have your fixes in and set it to run them. Then it should run all of them for you, then give you a prompt to reboot. There's an unattended mode, too, so you should be able to just run a single command to apply all the patches to your system that you have (minus a few).

http://www.msfn.org/board/index.php?showtopic=96854

Link to comment
Share on other sites

Here try this VBS Script it will list the installed updates and missing updates.

I could have it in theroy download and install any missing updates.

I have this so it will show the results in Cmd Promt Window.

Save As ReportUpdates.vbs

Dim Act :Set Act = CreateObject("Wscript.Shell")
Dim Fso :Set Fso = CreateObject("Scripting.FileSystemObject")
Dim Arg1, Arg2,Ts
Arg1 = Act.ExpandEnvironmentStrings("%UserProfile%\Desktop\UpdateReport.vbs")
Set Ts = Fso.CreateTextFile(Arg1)
Ts.WriteLine _
"Dim ColUpdates, ObjResult, ObjSession, Searcher" & vbCrLf &_
"Dim C1, C2, Confirm, Missing, V1, V2, V3" & vbCrLf &_
" V1 = Chr(160) & Chr(171) & Chr(160)" & vbCrLf &_
" V2 = Chr(160) & Chr(187) & Chr(160)" & vbCrLf &_
" V3 = V1 & ""---------------------------------------"" & V2" & vbCrLf &_
" WScript.Echo V3 & vbcrlf & V1 & ""Processing Search For Installed Updates""" &_
" & V2 & vbcrlf & V3" & vbCrLf & " WScript.Echo" & vbCrLf &_
"Set ObjSession = CreateObject(""Microsoft.Update.Session"")" & vbCrLf &_
"Set Searcher = ObjSession.CreateUpdateSearcher" & vbCrLf &_
"Set ObjResult = Searcher.Search(""Type='Software'"")" & vbCrLf &_
"Set ColUpdates = ObjResult.Updates" & vbCrLf &_
"'/-> Loop To Collect The Names" & vbCrLf &_
" For i = 0 to ColUpdates.Count - 1" & vbCrLf &_
" If ColUpdates.Item(i).IsInstalled <> 0 Then" & vbCrLf &_
" C1 = C1 + 1" & vbCrLf &_
" If Len(C1) = 3 Then C1 = C1" & vbCrLf &_
" If Len(C1) = 2 Then C1 = ""0"" & C1" & vbCrLf &_
" If Len(C1) = 1 Then C1 = ""00"" & C1" & vbCrLf &_
" Confirm = Confirm & V2 & C1 & V2 & ColUpdates.Item(i).Title & vbCrLf" & vbCrLf &_
" Else" & vbCrLf &_
" C2 = C2 + 1" & vbCrLf &_
" If Len(C2) = 3 Then C2 = C2" & vbCrLf &_
" If Len(C2) = 2 Then C2 = ""0"" & C2" & vbCrLf &_
" If Len(C2) = 1 Then C2 = ""00"" & C2" & vbCrLf &_
" Missing = Missing & V2 & C2 & V2 & ColUpdates.Item(i).Title & vbCrLf" & vbCrLf &_
" End If" & vbCrLf &_
" Next" & vbCrLf &_
" Dim Col1, Col2, Str1, Str2" & vbCrLf &_
" WScript.Echo V3 & vbCrLf & V1 & "" Confirm Installed Update "" & V2 & vbCrLf & V3" & vbCrLf &_
" Col1 = Split(Confirm,vbCrLf)" & vbCrLf &_
" For Each Str1 In Col1 :WScript.Echo Str1 :WScript.Sleep 250 :Next" & vbCrLf &_
" WScript.Echo V3 & vbCrLf & V1 & "" Missing Installed Update "" & V2 & vbCrLf & V3" & vbCrLf &_
" Col2 = Split(Missing,vbCrLf)" & vbCrLf &_
" For Each Str2 In Col2 :WScript.Echo Str2 :WScript.Sleep 250 :Next" & vbCrLf &_
" WScript.Echo V3" & vbCrLf &_
" WScript.Echo V1 & ""Processing Completed Search For Updates"" & V2 & vbcrlf & V3"
Ts.Close()
Set Arg2 = Fso.GetFile(Arg1)
Act.Run("%Comspec% /c @Echo Off && " &_
"Color 9E && Title Update Report %ComputerName% " &_
"&& cscript.exe " & Arg2.Path & "&& pause"),1,True
Arg2.Delete()

Edited by gunsmokingman
Link to comment
Share on other sites

:huh: - doesn't seem to be working.

Briefly I'll get a cmd window that pops up then disappears, I see the second script being created then deleted. but it doesn't appear to be running. If I pause the script before the deletion of the second script and run it manually all I get is:

<<------------------------>>

<<Processing Search for installed updates>>

<<---------------------------------->>

<OK>

nothing else happens, looks like I should get an echo boxe with the installed updates, missing updates but nothing. Happens on two different machines.

Link to comment
Share on other sites

:huh: - doesn't seem to be working.

Briefly I'll get a cmd window that pops up then disappears, I see the second script being created then deleted. but it doesn't appear to be running. If I pause the script before the deletion of the second script and run it manually all I get is:

<<------------------------>>

<<Processing Search for installed updates>>

<<---------------------------------->>

<OK>

nothing else happens, looks like I should get an echo boxe with the installed updates, missing updates but nothing. Happens on two different machines.

It takes a few minutes to process the script. This can not run on a network machine, this is ment for the local machine.

RunningScript.jpg

Edited by gunsmokingman
Link to comment
Share on other sites

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