Ich habe das Skript aus der PC Magazin ein wenig aufgemöbelt um mögliche Fehlerquellen auszuschalten. Vor den Updates wird nun der Windows Updater v6 und zur Sicherheit auch einmal Windows Script Host installiert, sowie falls benötigt eine neuere Version der wuaueng.dll kopiert.
Spoiler anzeigen
;|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
;| Installation von: Windows Updates
;|
;| Autor: Jens Ottersberg
;|
;| Getestet mit: neu installiertem Rechner mit XP SP1
;|
;| Grundlage ist das Script aus der PC Magazin
;|___________________________________________________________________________________________________________________________________
#RequireAdmin
#NoTrayIcon
#include "..\..\funktionen.au3"
[/autoit] [autoit][/autoit] [autoit]If Not _IstOnline() Then
MsgBox(48,"","Der PC ist nicht mit dem Internet Verbunden!")
Exit
EndIf
;Windows Update v6 installieren
ShellExecuteWait(@ScriptDir & "\wucv6.exe")
;Windows Script Host 5.6 installieren
ShellExecuteWait(@ScriptDir & "\scd56de.exe", "/Q:A /R:N") ;Schalterquelle: http://aris-toolz.de
;Windows Script Host zumindest temporär aktivieren
$wsh = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Script Host\Settings", "Enabled")
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Script Host\Settings", "Enabled", "REG_DWORD", "1")
;wuaueng.dll kopieren wenn <=5.4.3790.1000
If (FileGetVersion(@SystemDir & "\wuaueng.dll") <= "5.4.3790.1000") Then
FileMove(@SystemDir & "\wuaueng.dll",@SystemDir & "\wuaueng_old.dll",1)
FileCopy(@ScriptDir & "\wuaueng.dll",@SystemDir & "\",1)
EndIf
; checken
_Splash ("Windows Updates", "Suche verfügbare Updates...")
ShellExecute(@ScriptDir & "\check_2.vbs", "", @TempDir)
Do
Sleep(1000)
If WinExists("Windows Script Host") Then WinKill("Windows Script Host")
Until Not ProcessExists("wscript.exe")
SplashOff()
; herunterladen und installieren
_Splash ("Windows Updates", "Lade Updates und installiere...")
ShellExecute(@ScriptDir & "\install_2.vbs", "", @TempDir)
Do
Sleep(1000)
If WinExists("Windows Script Host") Then WinKill("Windows Script Host")
Until Not ProcessExists("wscript.exe")
SplashOff()
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Script Host\Settings", "Enabled", "REG_DWORD", $wsh)
[/autoit]Die Dateien gibt es hier:
WSH
wuaueng.dll
Update v6