Jump to content

Recommended Posts

Posted

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


Posted

you could try Autopatcher. its is updated regularly and is easy to use. The only problem that i found with it so far is it is not automated (which could be resolved if you know how to use autoit scripting)

Posted

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.

Posted

hence why i suggesed autopatcher. when you run it it highlights the fixes already installed by having them with blue font. Therefore you select the ones that raent installed, and install them.

Posted (edited)

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

  • 2 weeks later...
Posted

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

Posted (edited)

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
Posted

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

Posted (edited)
: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
Posted

I'd have to say the first window flashes up and then disappears and then nothing. all the vbsript processes have ended.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

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