Nachtrag:
Wenn du Wert auf den PatchInstaller wert legst, kann ich dir vielleicht weiter helfen. Der PatchInstaller ist nur ein VBS-Script.
[quote]
[b][u]pcwPatchInstaller - Win 2000/XP[/u][/b]
Um nicht mit einem ungesicherten System ins Internet gehen zu müssen, haben Sie sich für alle Fälle einen Ordner mit den Setup-Dateien aller wichtigen Windows-Updates angelegt. Nun haben Sie Ihr System neu aufgesetzt und müssen jedes Update einzeln aufspielen. Bei zwanzig oder mehr Setup-Dateien kann das schnell lästig werden. Wir erleichtern Ihnen die Aufgabe mit unserem Script pcwPatchInstaller zur automatischen Installation eines Patch-Archivs. Hinweis: Manche Virenscanner erzeugen beim Aufruf dieses Scripts einen Fehlalarm.
Die "pcwPatchInstaller.VBS" muss sich nicht im Ordner mit den Setup-Dateien befinden. Mit einen Doppelklick auf die VBS wird der Installationsvorgang des Updates gestartet. Wählen Sie den Ordner mit den Updates aus und folgen Sie den weiteren Anweisungen.
Typ: Kostenlos (GNU GPL)
Kategorie: PC-WELT-Tools
Sprache: Deutsch
Dateiname: pcwPatchInstaller.z.exe
Internet: www.pcwelt.de/scripts [/quote]
[b]Und hier noch der VBS-Code:[/b][code]Set MyShell = CreateObject("Wscript.Shell")
Set MyFiles = CreateObject("Scripting.FileSystemObject")
Set Appshell = CreateObject("Shell.Application")
On Error Resume Next
Set AppFolder = Appshell.BrowseForFolder(0, "", &H0001, 17)
Ordner = AppFolder.ParentFolder.ParseName(AppFolder.Title).Path
If err.number > 0 then
i=instr(AppFolder, ":")
Ordner = mid(AppFolder, i - 1, 1) & ":\"
End If
If Ordner="" Then
wscript.quit
End if
Set PatchOrdner = Myfiles.GetFolder(Ordner)
Set InstallBat = Myfiles.OpenTextFile(PatchOrdner & "\pcwPatchInstaller.bat", 2, True)
Set InstallBatPart = Myfiles.OpenTextFile(PatchOrdner & "\pcwPatchInstallerPart.bat", 2, True)
regexp = myshell.run("regedit /a " & Chr(34) & PatchOrdner & "\Patches.txt" & Chr(34) & " " & Chr(34) & "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix" & Chr(34), 1, True)
Set Patches = myfiles.OpenTextFile(PatchOrdner & "\Patches.txt", 1, False)
Set InstalledPats = myfiles.OpenTextFile(PatchOrdner & "\InstalledPats.txt", 2, True)
Do
Test = 0
Zeile = Patches.Readline
Test = InStr(1, Zeile, "Hotfix]", 1)
ASchluessel = InStr(1, Zeile, "[", 1)
ESchluessel = InStr(1, Zeile, "]", 1)
USchluessel = InStr(1, Zeile, "File", 1)
If ASchluessel = 1 And USchluessel = 0 And Test = 0 Then
Pat = Mid(Zeile, 73, ESchluessel-73)
InstalledPats.Writeline Pat
End If
loop until Patches.AtEndOfStream = True
Patches.Close
InstalledPats.Close
myfiles.DeleteFile PatchOrdner & "\Patches.txt"
n=0
m=0
Set Patches = PatchOrdner.Files
For Each Patch in Patches
PatchName = MyFiles.GetFileName(Patch)
If not PatchName = "pcwPatchInstaller.bat" and not PatchName = "pcwPatchInstallerPart.bat" and not PatchName = "InstalledPats.txt" and InStr(1, PatchName, "xpsp", 1) = 0 and InStr(1, PatchName, "w2ksp", 1) = 0 and InStr(1, PatchName, "835935-SP2", 1) = 0 Then
InstallBat.Writeline Chr(34) & PatchOrdner & "\" & Patchname & Chr(34) & " -u"
n=n+1
Set InstalledPats = myfiles.OpenTextFile(PatchOrdner & "\InstalledPats.txt", 1, False)
Test = 0
Do
check = InstalledPats.Readline
If InStr(1, PatchName, check, 1) <> 0 Then
Test = 1
End If
loop until InstalledPats.AtEndOfStream = True
InstalledPats.Close
If Test = 0 Then
InstallBatPart.Writeline Chr(34) & PatchOrdner & "\" & Patchname & Chr(34) & " -u"
m=m+1
End if
End If
Next
InstallBat.Close
InstallBatPart.Close
If m = 0 Then
nixneu = MsgBox("Alle vorhandenen Patches sind bereits installiert, möchten Sie alle " & n & " Patches erneut installieren?", 4, "Keine neuen Patches")
If nixneu = 6 Then
Frage = 7
Else
Loeschen
wscript.quit
End If
ElseIf not n = m Then
If m = 1 Then
Text = "Möchten Sie nur den Patch installieren der bisher noch nicht auf Ihrem Rechner ist (Ja), "
Else
Text= "Möchten Sie nur die " & m & " Patches installieren die bisher noch nicht auf Ihrem Rechner sind (Ja), "
End If
Frage = MsgBox(Text & vbcr & "oder möchten Sie alle " & n & " Patches neu installieren (nein)?", 3, "Installation starten")
Else
Frage = 6
End If
If Frage = 6 Then
Patch = MyShell.Run("cmd /c " & Chr(34) & PatchOrdner & "\pcwPatchInstallerPart.bat" & Chr(34), 1, True)
x = m
ElseIf Frage = 7 Then
Patch = MyShell.Run("cmd /c " & Chr(34) & PatchOrdner & "\pcwPatchInstaller.bat" & Chr(34), 1, True)
x = n
Else
loeschen
wscript.quit
End If
If x = 1 Then
Text = " wurde " & x & " Patch installiert."
Else
Text = " wurden " & x & " Patches installiert."
End If
Loeschen
Fertig = MsgBox("Der Patchvorgang ist abgeschlossen, es" & Text & vbcr & "Bitte starten Sie den Rechner neu", 0, "Fertig")
Function Loeschen()
myfiles.DeleteFile PatchOrdner & "\pcwPatchInstallerPart.bat"
myfiles.DeleteFile PatchOrdner & "\pcwPatchInstaller.bat"
myfiles.DeleteFile PatchOrdner & "\InstalledPats.txt"
End function[/code]
(Zitat aus der PC-Welt)