Bump to 1.11

This commit is contained in:
Vichingo455
2025-03-23 12:49:51 +01:00
parent 7ca9105b8d
commit 23ac8a27f0
65 changed files with 2470 additions and 3597 deletions

Binary file not shown.

View File

@@ -1,4 +0,0 @@
Function Install7Zip
File 7z.exe
!insertmacro Install "7-Zip" "7z.exe" "/S"
FunctionEnd

View File

@@ -12,7 +12,13 @@
!insertmacro SetControlColor ${parent} ${control} SYSCLR:WINDOWTEXT
!macroend
; These are PE resources because there's no benefit to LZMA compressing PNGs
PEAddResource "banner-wordmark-light.png" "PNG" "#1337"
PEAddResource "banner-wordmark-dark.png" "PNG" "#1338"
PEAddResource "banner-wordmark-glow.png" "PNG" "#1339"
Var /GLOBAL ChildHwnd
Var /GLOBAL AeroWizard.Font
!macro -AeroWizardOnShow
; Get the child window where the wizard page is
@@ -26,55 +32,44 @@ Var /GLOBAL ChildHwnd
CreateFont $3 "Segoe UI Variable Display Semibold" 14 600
!insertmacro SetControlColor $HWNDPARENT 1037 SYSCLR:WINDOWTEXT
${Else}
; Aero style
CreateFont $3 "Segoe UI" 12 400
!insertmacro SetControlColor $HWNDPARENT 1037 0x003399
${EndIf}
CreateFont $2 "Segoe UI" 8 400
CreateFont $AeroWizard.Font "Segoe UI" 8 400
!insertmacro SetFont $3 $HWNDPARENT 1037
!insertmacro SetFont $2 $HWNDPARENT 1
!insertmacro SetFont $2 $HWNDPARENT 2
!insertmacro SetFont $2 $HWNDPARENT 3
!insertmacro SetFont $2 $HWNDPARENT 1028
!insertmacro SetFont $2 $ChildHwnd 1000
!insertmacro SetFont $2 $ChildHwnd 1004
!insertmacro SetFont $2 $ChildHwnd 1006
!insertmacro SetFont $2 $ChildHwnd 1016
!insertmacro SetFont $2 $ChildHwnd 1022
!insertmacro SetFont $2 $ChildHwnd 1023
!insertmacro SetFont $2 $ChildHwnd 1029
!insertmacro SetFont $2 $ChildHwnd 1027
!insertmacro SetFont $2 $ChildHwnd 1032
!insertmacro SetFont $2 $ChildHwnd 1043
!insertmacro SetFont $AeroWizard.Font $HWNDPARENT 1028
${For} $4 1 3
!insertmacro SetFont $AeroWizard.Font $HWNDPARENT $4
${Next}
${For} $4 1000 1043
!insertmacro SetFont $AeroWizard.Font $ChildHwnd $4
${Next}
${Else}
; Wizard97 style
; Wizard97ish style
${If} ${FileExists} "$FONTS\framd.ttf"
CreateFont $2 "Franklin Gothic Medium" 13 400
!insertmacro SetFont $2 $HWNDPARENT 1037
!insertmacro SetControlColor $HWNDPARENT 1037 0x003399
${Else}
CreateFont $2 "Verdana" 12 800
!insertmacro SetFont $2 $HWNDPARENT 1037
!insertmacro SetControlColor $HWNDPARENT 1037 SYSCLR:WINDOWTEXT
${EndIf}
!insertmacro SetFont $2 $HWNDPARENT 1037
CreateFont $AeroWizard.Font "MS Shell Dlg 2" 8 400
${EndIf}
; Set white background
SetCtlColors $HWNDPARENT SYSCLR:WINDOWTEXT SYSCLR:WINDOW
SetCtlColors $ChildHwnd SYSCLR:WINDOWTEXT SYSCLR:WINDOW
!insertmacro SetBackground $ChildHwnd 1020
!insertmacro SetBackground $ChildHwnd 1028
!insertmacro SetBackground $ChildHwnd 1006
!insertmacro SetBackground $ChildHwnd 1022
!insertmacro SetBackground $ChildHwnd 1023
!insertmacro SetBackground $ChildHwnd 1027
!insertmacro SetBackground $ChildHwnd 1029
!insertmacro SetBackground $ChildHwnd 1032
!insertmacro SetBackground $ChildHwnd 1043
${For} $4 1000 1043
!insertmacro SetBackground $ChildHwnd $4
${Next}
; Set up banner and glass
LegacyUpdateNSIS::DialogInit
; Activate taskbar progress bar plugin
${If} ${AtLeastWin7}
LegacyUpdateNSIS::InitTaskbarProgress
${EndIf}
LegacyUpdateNSIS::InitTaskbarProgress
!macroend
Function AeroWizardOnShow
@@ -84,3 +79,10 @@ FunctionEnd
Function un.AeroWizardOnShow
!insertmacro -AeroWizardOnShow
FunctionEnd
!macro -AeroWizardDialogControl hwnd
SendMessage ${hwnd} ${WM_SETFONT} $AeroWizard.Font 0
SetCtlColors ${hwnd} SYSCLR:WINDOWTEXT SYSCLR:WINDOW
!macroend
!define AeroWizardDialogControl '!insertmacro -AeroWizardDialogControl'

View File

@@ -2,13 +2,33 @@
SetPluginUnload alwaysoff
!if ${DEBUG} == 0
!packhdr upx.tmp 'upx --lzma -9 upx.tmp'
!endif
!if ${SIGN} == 1
!finalize '../build/sign.sh "%1"'
!uninstfinalize '../build/sign.sh "%1"'
!endif
!macro -Trace msg
!if ${DEBUG} == 1
!insertmacro _LOGICLIB_TEMP
!ifdef __FUNCTION__
StrCpy $_LOGICLIB_TEMP "${__FUNCTION__}"
!else
StrCpy $_LOGICLIB_TEMP "${__SECTION__}"
!endif
MessageBox MB_OK `${__FILE__}(${__LINE__}): $_LOGICLIB_TEMP: ${msg}`
!endif
!macroend
!define TRACE '!insertmacro -Trace'
!define IsNativeIA64 '${IsNativeMachineArchitecture} ${IMAGE_FILE_MACHINE_IA64}'
!undef RunningX64
!define RunningX64 `"$PROGRAMFILES64" != "$PROGRAMFILES32"`
Function GetArch
Var /GLOBAL Arch
${If} $Arch == ""
@@ -33,31 +53,71 @@ FunctionEnd
IfErrors `${_f}` `${_t}`
!macroend
!define IsActiveXInstall `"" HasFlag "/activex"`
!define IsHelp `"" HasFlag "/?"`
!define IsPassive `"" HasFlag "/passive"`
!define IsActiveX `"" HasFlag "/activex"`
!define IsHelp `"" HasFlag "/?"`
!define IsVerbose `"" HasFlag "/v"`
!macro DetailPrint text
!if ${DEBUG} == 1
!define TestRunOnce `"" HasFlag "/testrunonce"`
!endif
!macro _NeedsPatch _a _b _t _f
!insertmacro _LOGICLIB_TEMP
Call Needs${_b}
Pop $_LOGICLIB_TEMP
StrCmp $_LOGICLIB_TEMP 1 `${_t}` `${_f}`
!macroend
!define NeedsPatch `"" NeedsPatch`
!macro -DetailPrint level text
!if ${level} == 0
${If} ${IsVerbose}
DetailPrint "${text}"
${EndIf}
!else
SetDetailsPrint both
DetailPrint "${text}"
SetDetailsPrint listonly
!endif
!macroend
!define VerbosePrint `!insertmacro -DetailPrint 0`
!define DetailPrint `!insertmacro -DetailPrint 1`
Var /GLOBAL Download.ID
!macro DownloadRequest url local extra
Function DownloadRequest
; TODO: This is broken on XP for some reason
; Var /GLOBAL Download.UserAgent
; ${If} $Download.UserAgent == ""
; GetWinVer $R8 Major
; GetWinVer $R9 Minor
; StrCpy $Download.UserAgent "Mozilla/4.0 (${NAME} ${VERSION}; Windows NT $R8.$R9)"
; ${EndIf}
; /HEADER "User-Agent: $Download.UserAgent"
NSxfer::Request \
/TIMEOUTCONNECT 60000 \
/TIMEOUTRECONNECT 60000 \
/OPTCONNECTTIMEOUT 60000 \
/OPTRECEIVETIMEOUT 60000 \
/OPTSENDTIMEOUT 60000 \
/URL "${url}" \
/LOCAL "${local}" \
/URL "$R0" \
/LOCAL "$R1" \
/INTERNETFLAGS ${INTERNET_FLAG_RELOAD}|${INTERNET_FLAG_NO_CACHE_WRITE}|${INTERNET_FLAG_KEEP_CONNECTION}|${INTERNET_FLAG_NO_COOKIES}|${INTERNET_FLAG_NO_UI} \
/SECURITYFLAGS ${SECURITY_FLAG_STRENGTH_STRONG} \
${extra} \
$R2 \
/END
Pop $Download.ID
FunctionEnd
!macro DownloadRequest url local extra
StrCpy $R0 "${url}"
StrCpy $R1 "${local}"
StrCpy $R2 "${extra}"
Call DownloadRequest
!macroend
Function DownloadWaitSilent
@@ -67,27 +127,37 @@ FunctionEnd
Function DownloadWait
NSxfer::Wait /ID $Download.ID /MODE PAGE \
/STATUSTEXT \
"{TIMEREMAINING} left - {RECVSIZE} of {FILESIZE} ({SPEED})" \
"{TIMEREMAINING} left - {TOTALRECVSIZE} of {TOTALFILESIZE} ({SPEED})" \
/ABORT "Legacy Update" "Cancelling will terminate Legacy Update setup." \
/STATUSTEXT "$(DownloadStatusSingle)" "$(DownloadStatusMulti)" \
/ABORT "$(^Name)" "$(MsgBoxDownloadAbort)" \
/END
NSxfer::Query /ID $Download.ID /ERRORCODE /ERRORTEXT /END
FunctionEnd
!macro -Download name url filename verbose
!insertmacro DetailPrint "Downloading ${name}..."
!if ${verbose} == 1
${DetailPrint} "$(Downloading)${name}..."
!endif
${If} ${IsVerbose}
${DetailPrint} "$(Downloading)${name}..."
${VerbosePrint} "From: ${url}"
${VerbosePrint} "To: ${filename}"
${EndIf}
!insertmacro DownloadRequest "${url}" "${filename}" ""
${If} ${verbose} == 1
!if ${verbose} == 1
Call DownloadWait
!else
${If} ${IsVerbose}
Call DownloadWait
${Else}
Call DownloadWaitSilent
${EndIf}
!endif
Pop $1
Pop $0
${If} $0 != "OK"
${If} $1 != ${ERROR_INTERNET_OPERATION_CANCELLED}
MessageBox MB_USERICON "${name} failed to download.$\r$\n$\r$\n$0 ($1)" /SD IDOK
StrCpy $2 "${name}"
MessageBox MB_USERICON "$(MsgBoxDownloadFailed)" /SD IDOK
${EndIf}
Delete /REBOOTOK "${filename}"
SetErrorLevel 1
@@ -96,75 +166,69 @@ FunctionEnd
!macroend
!macro Download name url filename verbose
${If} ${FileExists} "$EXEDIR\${filename}"
${If} $OUTDIR != "$EXEDIR"
SetOutPath "$EXEDIR"
${IfNot} ${FileExists} "${RUNONCEDIR}\${filename}"
${If} ${FileExists} "$EXEDIR\${filename}"
CopyFiles /SILENT "$EXEDIR\${filename}" "${RUNONCEDIR}\${filename}"
${Else}
!insertmacro -Download '${name}' '${url}' '${RUNONCEDIR}\${filename}' ${verbose}
${EndIf}
StrCpy $0 "$EXEDIR\${filename}"
${Else}
${If} $OUTDIR != "$RunOnceDir"
SetOutPath "$RunOnceDir"
${EndIf}
${IfNot} ${FileExists} "$RunOnceDir\${filename}"
!insertmacro -Download '${name}' '${url}' '$RunOnceDir\${filename}' ${verbose}
${EndIf}
StrCpy $0 "$RunOnceDir\${filename}"
${EndIf}
StrCpy $0 "${RUNONCEDIR}\${filename}"
!macroend
Var /GLOBAL Exec.Command
Var /GLOBAL Exec.Patch
Var /GLOBAL Exec.Name
Var /GLOBAL Exec.IsWusa
Function ExecWithErrorHandling
Push $0
ExecWait '$Exec.Command' $0
${If} $0 == ${ERROR_SUCCESS_REBOOT_REQUIRED}
${VerbosePrint} "$(^Exec)$Exec.Command"
LegacyUpdateNSIS::ExecToLog `$Exec.Command`
Pop $R0
${VerbosePrint} "$(ExitCode)$R0"
${If} $R0 == ${ERROR_SUCCESS_REBOOT_REQUIRED}
${VerbosePrint} "$(RestartRequired)"
SetRebootFlag true
${ElseIf} $0 == ${ERROR_INSTALL_USEREXIT}
${ElseIf} $R0 == ${ERROR_INSTALL_USEREXIT}
SetErrorLevel ${ERROR_INSTALL_USEREXIT}
Abort
${ElseIf} $Exec.IsWusa == 1
${AndIf} $0 == 1
; wusa exits with 1 if the patch is already installed. Treat this as success.
DetailPrint "Installation skipped - already installed"
${ElseIf} $Exec.IsWusa == 1
${AndIf} $0 == ${WU_S_ALREADY_INSTALLED}
DetailPrint "Installation skipped - already installed"
${ElseIf} $Exec.IsWusa == 1
${AndIf} $0 == ${WU_E_NOT_APPLICABLE}
DetailPrint "Installation skipped - not applicable"
${ElseIf} $0 != 0
LegacyUpdateNSIS::MessageForHresult $0
${ElseIf} $R0 == ${WU_S_ALREADY_INSTALLED}
${DetailPrint} "$(AlreadyInstalled)"
${ElseIf} $R0 == ${WU_E_NOT_APPLICABLE}
${DetailPrint} "$(NotApplicable)"
${ElseIf} $R0 != 0
StrCpy $0 $R0
LegacyUpdateNSIS::MessageForHresult $R0
Pop $1
MessageBox MB_USERICON "$Exec.Name failed to install.$\r$\n$\r$\n$1 ($0)" /SD IDOK
SetErrorLevel $0
${DetailPrint} "$1 ($0)"
StrCpy $2 "$Exec.Name"
MessageBox MB_USERICON "$(MsgBoxInstallFailed)" /SD IDOK
SetErrorLevel $R0
Abort
${EndIf}
Pop $0
FunctionEnd
!macro ExecWithErrorHandling name command iswusa
!macro ExecWithErrorHandling name command
StrCpy $Exec.Command '${command}'
StrCpy $Exec.Name '${name}'
StrCpy $Exec.IsWusa '${iswusa}'
Call ExecWithErrorHandling
!macroend
!macro Install name filename args
!insertmacro DetailPrint "Installing ${name}..."
!insertmacro ExecWithErrorHandling '${name}' '"$0" ${args}' 0
${DetailPrint} "$(Installing)${name}..."
!insertmacro ExecWithErrorHandling '${name}' '"$0" ${args}'
!macroend
!macro InstallSP name filename
; SPInstall.exe /norestart seems to be broken. We let it do a delayed restart, then cancel it.
!insertmacro DetailPrint "Extracting ${name}..."
!insertmacro ExecWithErrorHandling '${name}' '"$0" /X:"$PLUGINSDIR\${filename}"' 0
!insertmacro DetailPrint "Installing ${name}..."
!insertmacro ExecWithErrorHandling '${name}' '"$PLUGINSDIR\${filename}\spinstall.exe" /unattend /nodialog /warnrestart:600' 0
${DetailPrint} "$(Extracting)${name}..."
!insertmacro ExecWithErrorHandling '${name}' '"$0" /X:"$PLUGINSDIR\${filename}"'
${DetailPrint} "$(Installing)${name}..."
!insertmacro ExecWithErrorHandling '${name}' '"$WINDIR\system32\cmd.exe" /c "$PLUGINSDIR\${filename}\spinstall.exe" /unattend /nodialog /warnrestart:600'
; If we successfully abort a shutdown, we'll get exit code 0, so we know a reboot is required.
ExecWait "$WINDIR\system32\shutdown.exe /a" $0
LegacyUpdateNSIS::Exec '"$WINDIR\system32\shutdown.exe" /a'
Pop $0
${If} $0 == 0
SetRebootFlag true
${EndIf}
@@ -174,85 +238,84 @@ FunctionEnd
!insertmacro Download '${name} (${kbid})' '${url}' '${kbid}.msu' 1
!macroend
Function InstallMSU
${DetailPrint} "$(Extracting)$Exec.Name..."
${IfNot} ${IsVerbose}
SetDetailsPrint none
${EndIf}
CreateDirectory "$PLUGINSDIR\$Exec.Patch"
CreateDirectory "$PLUGINSDIR\$Exec.Patch\Temp"
StrCpy $Exec.Command '"$WINDIR\system32\expand.exe" -F:* "$0" "$PLUGINSDIR\$Exec.Patch"'
Call ExecWithErrorHandling
${IfNot} ${IsVerbose}
SetDetailsPrint lastused
${EndIf}
${DetailPrint} "$(Installing)$Exec.Name..."
${DisableX64FSRedirection}
FindFirst $0 $1 "$PLUGINSDIR\$Exec.Patch\*.xml"
${Do}
${If} $1 == ""
FindClose $R0
${Break}
${EndIf}
; We prefer Dism, but need to fall back to Pkgmgr for Vista.
${If} ${IsWinVista}
StrCpy $Exec.Command '"$WINDIR\system32\pkgmgr.exe" \
/n:"$PLUGINSDIR\$Exec.Patch\$1" \
/s:"$PLUGINSDIR\$Exec.Patch\Temp" \
/quiet /norestart'
${Else}
StrCpy $Exec.Command '"$WINDIR\system32\dism.exe" \
/Online \
/Apply-Unattend:"$PLUGINSDIR\$Exec.Patch\$1" \
/ScratchDir:"$PLUGINSDIR\$Exec.Patch\Temp" \
/LogPath:"$TEMP\LegacyUpdate-Dism.log" \
/Quiet /NoRestart'
${EndIf}
Call ExecWithErrorHandling
FindNext $0 $1
${Loop}
${EnableX64FSRedirection}
FunctionEnd
!macro InstallMSU kbid name
; Stop AU service before running wusa so it doesn't try checking for updates online first (which
; may never complete before we install our patches).
!insertmacro DetailPrint "Installing ${name} (${kbid})..."
SetDetailsPrint none
ExecShellWait "" "$WINDIR\system32\net.exe" "stop wuauserv" SW_HIDE
SetDetailsPrint listonly
!insertmacro ExecWithErrorHandling '${name} (${kbid})' '$WINDIR\system32\wusa.exe /quiet /norestart "$0"' 1
StrCpy $Exec.Patch '${kbid}'
StrCpy $Exec.Name '${name} (${kbid})'
Call InstallMSU
!macroend
!macro EnsureAdminRights
${IfNot} ${AtLeastWin2000}
MessageBox MB_USERICON "Legacy Update requires at least Windows 2000." /SD IDOK
MessageBox MB_USERICON|MB_OKCANCEL "$(MsgBoxOldWinVersion)" /SD IDCANCEL \
IDCANCEL +2
ExecShell "" "${WUR_WEBSITE}"
SetErrorLevel ${ERROR_OLD_WIN_VERSION}
Quit
${EndIf}
System::Call '${IsUserAnAdmin}() .r0'
ClearErrors
LegacyUpdateNSIS::IsAdmin
${If} ${Errors}
MessageBox MB_USERICON "$(MsgBoxPluginFailed)" /SD IDOK
SetErrorLevel 1
Quit
${EndIf}
Pop $0
${If} $0 == 0
MessageBox MB_USERICON "Log on as an administrator to install Legacy Update." /SD IDOK
MessageBox MB_USERICON "$(MsgBoxElevationRequired)" /SD IDOK
SetErrorLevel ${ERROR_ELEVATION_REQUIRED}
Quit
${EndIf}
!macroend
!macro InhibitSleep state
${If} ${state} == 1
System::Call '${SetThreadExecutionState}(${ES_CONTINUOUS}|${ES_SYSTEM_REQUIRED})'
${Else}
System::Call '${SetThreadExecutionState}(${ES_CONTINUOUS})'
${EndIf}
!macroend
!macro TryWithRetry command error
ClearErrors
${command}
IfErrors 0 +3
MessageBox MB_RETRYCANCEL|MB_USERICON \
'${error}$\r$\n$\r$\nIf Internet Explorer is open, close it and click Retry.' \
/SD IDCANCEL \
IDRETRY -3
Abort
!macroend
!macro TryFile file oname
!insertmacro TryWithRetry `File "/ONAME=${oname}" "${file}"` 'Unable to write to "${oname}".'
!macroend
!macro TryDelete file
!insertmacro TryWithRetry `Delete "${file}"` 'Unable to delete "${file}".'
!macroend
!macro TryRename src dest
!insertmacro TryWithRetry `Rename "${src}" "${dest}"` 'Unable to write to "${dest}".'
!macroend
!macro RegisterDLL un arch file
${If} "${un}" == "Un"
StrCpy $0 "/u"
${Else}
StrCpy $0 ""
${EndIf}
${If} "${arch}" == "x64"
${DisableX64FSRedirection}
${EndIf}
ClearErrors
ExecWait '"$WINDIR\system32\regsvr32.exe" /s $0 "${file}"'
${If} ${Errors}
; Do it again non-silently so the user can see the error.
ExecWait '"$WINDIR\system32\regsvr32.exe" $0 "${file}"'
${If} "${arch}" == "x64"
${EnableX64FSRedirection}
${EndIf}
Abort
${EndIf}
${If} "${arch}" == "x64"
${EnableX64FSRedirection}
${EndIf}
!if ${state} == 1
System::Call '${SetThreadExecutionState}(${ES_CONTINUOUS}|${ES_SYSTEM_REQUIRED})'
!else
System::Call '${SetThreadExecutionState}(${ES_CONTINUOUS})'
!endif
!macroend

View File

@@ -1,13 +1,34 @@
; Product
!define NAME "WUIsBack"
!define NAME "Legacy Update (Vichingo455's Mod)"
!define DOMAIN "legacyupdate.net"
; Version
!getdllversion "..\Release\LegacyUpdate.dll" DLLVersion_
!define LONGVERSION "${DLLVersion_1}.${DLLVersion_2}.${DLLVersion_3}.${DLLVersion_4}"
!define VERSION "${DLLVersion_1}.${DLLVersion_2}.${DLLVersion_3}"
; Build
!if ${DEBUG} == 1
!define VSBUILD32 "Debug-VC08"
!define VSBUILD64 "Debug-VC17"
!else
!define VSBUILD32 "Release"
!define VSBUILD64 "Release"
!endif
!if ${DLLVersion_3} == 0
; NSIS target
!ifdef NSIS_UNICODE
!define NSIS_CHARSET "unicode"
!else
!define NSIS_CHARSET "ansi"
!endif
!define NSIS_TARGET "${NSIS_CPU}-${NSIS_CHARSET}"
; Version
!getdllversion "..\${VSBUILD32}\LegacyUpdate.dll" DLLVersion_
!define LONGVERSION "${DLLVersion_1}.${DLLVersion_2}.${DLLVersion_3}.${DLLVersion_4}"
!define VERSION "${LONGVERSION}"
!if ${DLLVersion_4} == 0
!define /redef VERSION "${DLLVersion_1}.${DLLVersion_2}.${DLLVersion_3}"
!endif
!if ${DLLVersion_3}.${DLLVersion_4} == 0.0
!define /redef VERSION "${DLLVersion_1}.${DLLVersion_2}"
!endif
@@ -15,37 +36,68 @@
!define WEBSITE "http://legacyupdate.net/"
!define UPDATE_URL "http://legacyupdate.net/windowsupdate/v6/"
!define UPDATE_URL_HTTPS "https://legacyupdate.net/windowsupdate/v6/"
!define WSUS_SERVER "http://update.oldwindows.de"
!define WSUS_SERVER_HTTPS "http://update.oldwindows.de"
!define WSUS_SERVER "http://vichingo455.ddns.net/v6"
!define WSUS_SERVER_HTTPS "https://vichingo455.ddns.net/v6"
!define WUR_WEBSITE "http://windowsupdaterestored.com/"
!define TRUSTEDR "http://download.windowsupdate.com/msdownload/update/v3/static/trustedr/en"
!define WIN81UPGRADE_URL "https://go.microsoft.com/fwlink/?LinkId=798437"
; Control Panel entry
!define CPL_GUID "{FFBE8D44-E9CF-4DD8-9FD6-976802C94D9C}"
!define CPL_APPNAME "LegacyUpdate"
; RunOnce
!define RUNONCE_USERNAME "LegacyUpdateTemp"
!define RUNONCE_PASSWORD "Legacy_Update0"
; IE elevation policy
!define ELEVATIONPOLICY_GUID "{3D800943-0434-49F2-89A1-472A259AD982}"
; Registry keys
; Legacy Update keys
!define REGPATH_LEGACYUPDATE_SETUP "Software\Hashbang Productions\Legacy Update\Setup"
!define REGPATH_UNINSTSUBKEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NAME}"
!define REGPATH_WUPOLICY "Software\Policies\Microsoft\Windows\WindowsUpdate"
!define REGPATH_WUAUPOLICY "${REGPATH_WUPOLICY}\AU"
; Control Panel entry
!define REGPATH_CPLNAMESPACE "Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\${CPL_GUID}"
!define REGPATH_HKCR_CPLCLSID "CLSID\${CPL_GUID}"
; System
!define REGPATH_HARDWARE_SYSTEM "Hardware\Description\System"
!define REGPATH_CONTROL_LANGUAGE "System\CurrentControlSet\Control\Nls\Language"
!define REGPATH_CONTROL_WINDOWS "System\CurrentControlSet\Control\Windows"
; XP POSReady hack
!define REGPATH_POSREADY "System\WPA\PosReady"
; RunOnce
!define REGPATH_SETUP "System\Setup"
!define REGPATH_RUNONCE "Software\Microsoft\Windows\CurrentVersion\RunOnce"
!define REGPATH_POLICIES_SYSTEM "Software\Microsoft\Windows\CurrentVersion\Policies\System"
!define REGPATH_SECURITYCENTER "Software\Microsoft\Security Center"
; Windows Update keys
!define REGPATH_WU "Software\Microsoft\Windows\CurrentVersion\WindowsUpdate"
!define REGPATH_WU_SERVICES "${REGPATH_WU}\Services"
; Windows Update policies
!define REGPATH_WUPOLICY "Software\Policies\Microsoft\Windows\WindowsUpdate"
!define REGPATH_WUAUPOLICY "${REGPATH_WUPOLICY}\AU"
; CBS keys
!define REGPATH_CBS "Software\Microsoft\Windows\CurrentVersion\Component Based Servicing"
!define REGPATH_CBS_REBOOTPENDING "${REGPATH_CBS}\RebootPending"
!define REGPATH_CBS_PACKAGESPENDING "${REGPATH_CBS}\PackagesPending"
!define REGPATH_CBS_REBOOTINPROGRESS "${REGPATH_CBS}\RebootInProgress"
; IE zone keys
!define REGPATH_INETSETTINGS "Software\Microsoft\Windows\CurrentVersion\Internet Settings"
!define REGPATH_ZONEDOMAINS "${REGPATH_INETSETTINGS}\ZoneMap\Domains"
!define REGPATH_ZONEESCDOMAINS "${REGPATH_INETSETTINGS}\ZoneMap\EscDomains"
!define REGPATH_CPLNAMESPACE "Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\${CPL_GUID}"
!define REGPATH_CPLCLSID "CLSID\${CPL_GUID}"
!define REGPATH_WINLOGON "Software\Microsoft\Windows NT\CurrentVersion\Winlogon"
!define REGPATH_POSREADY "System\WPA\PosReady"
; IE elevation policy keys
!define REGPATH_ELEVATIONPOLICY "Software\Microsoft\Internet Explorer\Low Rights\ElevationPolicy"
; SChannel protocol keys
!define REGPATH_SCHANNEL_PROTOCOLS "System\CurrentControlSet\Control\SecurityProviders\SChannel\Protocols"
!define REGPATH_DOTNET_V2 "Software\Microsoft\.NETFramework\v2.0.50727"
!define REGPATH_DOTNET_V4 "Software\Microsoft\.NETFramework\v4.0.30319"
!define REGPATH_RUNONCE "Software\Microsoft\Windows\CurrentVersion\RunOnce"
!define REGPATH_PACKAGEINDEX "Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\PackageIndex"
!define REGPATH_SERVICING_SHA2 "Software\Microsoft\Windows\CurrentVersion\Servicing\Codesigning\SHA2"
!define REGPATH_COMPONENT_THEMES "Software\Microsoft\Active Setup\Installed Components\{2C7339CF-2B09-4501-B3F3-F3508C9228ED}"
!define REGPATH_DOTNET "Software\Microsoft\.NETFramework"
!define REGPATH_DOTNET_V2 "${REGPATH_DOTNET}\v2.0.50727"
!define REGPATH_DOTNET_V4 "${REGPATH_DOTNET}\v4.0.30319"
; Roots update keys
!define ROOTSUPDATE_GUID "{EF289A85-8E57-408d-BE47-73B55609861A}"
!define REGPATH_COMPONENTS "Software\Microsoft\Active Setup\Installed Components"

View File

@@ -1,11 +1,11 @@
Function GetUpdateLanguage
Var /GLOBAL UpdateLanguage
${If} $UpdateLanguage == ""
ReadRegStr $UpdateLanguage HKLM "Hardware\Description\System" "Identifier"
ReadRegStr $UpdateLanguage HKLM "${REGPATH_HARDWARE_SYSTEM}" "Identifier"
${If} $UpdateLanguage == "NEC PC-98"
StrCpy $UpdateLanguage "NEC98"
${Else}
ReadRegStr $UpdateLanguage HKLM "System\CurrentControlSet\Control\Nls\Language" "InstallLanguage"
ReadRegStr $UpdateLanguage HKLM "${REGPATH_CONTROL_LANGUAGE}" "InstallLanguage"
ReadINIStr $UpdateLanguage $PLUGINSDIR\Patches.ini Language $UpdateLanguage
${EndIf}
${EndIf}
@@ -51,19 +51,34 @@ Function -PatchHandler
ClearErrors
ReadINIStr $0 $PLUGINSDIR\Patches.ini "$Patch.Key" $1
${If} ${Errors}
MessageBox MB_USERICON "$Patch.Title could not be installed.$\r$\n$\r$\nThe installed Windows language and/or architecture is not supported." /SD IDOK
StrCpy $0 "$Patch.Title"
MessageBox MB_USERICON "$(MsgBoxPatchNotFound)" /SD IDOK
SetErrorLevel 1
Abort
${EndIf}
${EndIf}
!insertmacro Download "$Patch.Title" "$0" "$Patch.File" 1
ReadINIStr $1 $PLUGINSDIR\Patches.ini "$Patch.Key" Prefix
!insertmacro Download "$Patch.Title" "$1$0" "$Patch.File" 1
FunctionEnd
!macro PatchHandler kbid title params
!define PATCH_FLAGS_OTHER 0
!define PATCH_FLAGS_NT4 1
!define PATCH_FLAGS_SHORT 2
!define PATCH_FLAGS_LONG 3
!macro -PatchHandlerFlags params cleanup
!if ${DEBUG} == 1
; To make testing go faster
StrCpy $R0 "${params} ${cleanup}"
!else
; NT4 branch will add a SkipSPUninstall setting. For now, we ignore the cleanup param.
StrCpy $R0 "${params}"
!endif
!macroend
!macro PatchHandler kbid title type params
Function Download${kbid}
Call Needs${kbid}
Pop $0
${If} $0 == 1
${If} ${NeedsPatch} ${kbid}
StrCpy $Patch.Key "${kbid}"
StrCpy $Patch.File "${kbid}.exe"
StrCpy $Patch.Title "${title}"
@@ -72,51 +87,70 @@ FunctionEnd
FunctionEnd
Function Install${kbid}
Call Needs${kbid}
Pop $0
${If} $0 == 1
Call Download${kbid}
!insertmacro Install "${title}" "${kbid}.exe" "${params}"
${IfNot} ${NeedsPatch} ${kbid}
Return
${EndIf}
Call Download${kbid}
!if ${type} == ${PATCH_FLAGS_OTHER}
StrCpy $R0 ""
!endif
!if ${type} == ${PATCH_FLAGS_NT4}
!insertmacro -PatchHandlerFlags "-z" "-n -o"
!endif
!if ${type} == ${PATCH_FLAGS_SHORT}
!insertmacro -PatchHandlerFlags "-u -z" "-n -o"
!endif
!if ${type} == ${PATCH_FLAGS_LONG}
!insertmacro -PatchHandlerFlags "/passive /norestart" "/n /o"
!endif
!insertmacro Install "${title}" "${kbid}.exe" "$R0 ${params}"
FunctionEnd
!macroend
!insertmacro NeedsSPHandler "W2KSP4" "Win2000" 2
!insertmacro NeedsSPHandler "XPSP2" "WinXP2002" 0
!insertmacro NeedsSPHandler "XPSP1a" "WinXP2002" 0
!insertmacro NeedsSPHandler "XPSP3" "WinXP2002" 2
!insertmacro NeedsSPHandler "XPESP3" "WinXP2002" 2
!insertmacro NeedsSPHandler "2003SP2" "WinXP2003" 1
!insertmacro NeedsFileVersionHandler "KB835732" "kernel32.dll" "5.00.2195.6897"
!insertmacro NeedsFileVersionHandler "IE6" "mshtml.dll" "6.0.2600.0"
!insertmacro NeedsFileVersionHandler "W2KUR1" "kernel32.dll" "5.00.2195.7006"
!insertmacro NeedsFileVersionHandler "IE6" "mshtml.dll" "6.0.2600.0"
!insertmacro PatchHandler "W2KSP4" "Windows 2000 Service Pack 4" "-u -z"
!insertmacro PatchHandler "KB835732" "Windows 2000 KB835732 Update" "/passive /norestart"
!insertmacro PatchHandler "XPSP2" "Windows XP Service Pack 2" "/passive /norestart"
!insertmacro PatchHandler "XPSP3" "Windows XP Service Pack 3" "/passive /norestart"
!insertmacro PatchHandler "2003SP2" "Windows XP x64 Edition/Server 2003 Service Pack 2" "/passive /norestart"
!insertmacro PatchHandler "XPESP3" "Windows XP Embedded Service Pack 3" "/passive /norestart"
!insertmacro PatchHandler "W2KSP4" "Windows 2000 $(SP) 4" ${PATCH_FLAGS_SHORT} ""
!insertmacro PatchHandler "W2KUR1" "$(SectionW2KUR1)" ${PATCH_FLAGS_LONG} ""
!insertmacro PatchHandler "XPSP1a" "Windows XP $(SP) 1a" ${PATCH_FLAGS_SHORT} ""
!insertmacro PatchHandler "XPSP3" "Windows XP $(SP) 3" ${PATCH_FLAGS_LONG} ""
!insertmacro PatchHandler "2003SP2" "Windows XP $(P64)/$(SRV) 2003 $(SP) 2" ${PATCH_FLAGS_LONG} ""
!insertmacro PatchHandler "XPESP3" "Windows XP $(EMB) $(SP) 3" ${PATCH_FLAGS_LONG} ""
Function DownloadIE6
Call NeedsIE6
Pop $0
${If} $0 == 1
${If} ${NeedsPatch} IE6
StrCpy $Patch.Key "W2KIE6"
StrCpy $Patch.File "ie6sp1.cab"
StrCpy $Patch.Title "Internet Explorer 6 SP1"
StrCpy $Patch.Title "$(IE) 6 $(SP) 1 $(Setup)"
Call -PatchHandler
${IfNot} ${FileExists} "$PLUGINSDIR\W2KIE6\ie6setup.exe"
${DetailPrint} "$(Extracting)$(IE) 6 $(SP) 1 $(Setup)..."
CreateDirectory "$PLUGINSDIR\W2KIE6"
!insertmacro ExecWithErrorHandling '$(IE) 6 $(SP) 1' '"$WINDIR\system32\expand.exe" -F:* ie6sp1.cab "$PLUGINSDIR\W2KIE6"'
${DetailPrint} "$(Downloading)$(IE) 6 $(SP) 1..."
!insertmacro ExecWithErrorHandling '$(IE) 6 $(SP) 1' '"$PLUGINSDIR\W2KIE6\ie6setup.exe" /c:"ie6wzd.exe /q /d /s:""#e"""'
${EndIf}
${EndIf}
FunctionEnd
Function InstallIE6
Call NeedsIE6
Pop $0
${If} $0 == 1
${If} ${NeedsPatch} IE6
Call DownloadIE6
!insertmacro DetailPrint "Extracting Internet Explorer 6 SP1..."
ExecShellWait "" "$WINDIR\system32\expand.exe" '"$OUTDIR\ie6sp1.cab" -F:ie6setup.exe "$PLUGINSDIR"' SW_HIDE
ExecShellWait "" "$WINDIR\system32\expand.exe" '"$OUTDIR\ie6sp1.cab" -F:iebatch.txt "$PLUGINSDIR"' SW_HIDE
!insertmacro DetailPrint "Installing Internet Explorer 6 SP1..."
!insertmacro ExecWithErrorHandling 'Internet Explorer 6 SP1' '"$PLUGINSDIR\ie6setup.exe" /q' 0
${DetailPrint} "$(Installing)$(IE) 6 $(SP) 1..."
StrCpy $RunOnce.UseFallback 1
!insertmacro ExecWithErrorHandling '$(IE) 6 $(SP) 1' '"$PLUGINSDIR\W2KIE6\ie6setup.exe" /c:"ie6wzd.exe /q /r:n /s:""#e"""'
${EndIf}
FunctionEnd
Function FixW2KUR1
; Fix idling on multi-CPU systems when Update Rollup 1 is installed
WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Control\HAL" "14140000FFFFFFFF" 0x10
FunctionEnd

View File

@@ -1,46 +0,0 @@
; Windows 8 Servicing Stack
!insertmacro MSUHandler "KB4598297" "2021-01 Servicing Stack Update for Windows Server 2012" "Package_for_KB4598297"
; Windows 8.1 Servicing Stack
!insertmacro MSUHandler "KB3021910" "2015-04 Servicing Stack Update for Windows 8.1" "Package_for_KB3021910"
; Windows 8.1 Update 1
!insertmacro MSUHandler "KB2919355" "Windows 8.1 Update 1" "Package_for_KB2919355"
!insertmacro MSUHandler "KB2932046" "Windows 8.1 Update 1" "Package_for_KB2932046"
!insertmacro MSUHandler "KB2959977" "Windows 8.1 Update 1" "Package_for_KB2959977"
!insertmacro MSUHandler "KB2937592" "Windows 8.1 Update 1" "Package_for_KB2937592"
!insertmacro MSUHandler "KB2934018" "Windows 8.1 Update 1" "Package_for_KB2934018"
Function NeedsWin81Update1
Call NeedsKB2919355
Call NeedsKB2932046
Call NeedsKB2937592
Call NeedsKB2934018
Pop $0
Pop $1
Pop $2
Pop $3
Pop $4
${If} $0 == 1
${OrIf} $1 == 1
${OrIf} $2 == 1
${OrIf} $3 == 1
Push 1
${Else}
Push 0
${EndIf}
FunctionEnd
; Weird prerequisite to Update 1 that fixes the main KB2919355 update failing to install
Function DownloadClearCompressionFlag
Call GetArch
Pop $0
ReadINIStr $0 $PLUGINSDIR\Patches.ini ClearCompressionFlag $0
!insertmacro Download "Windows 8.1 Update 1 Preparation Tool" "$0" "ClearCompressionFlag.exe" 1
FunctionEnd
Function InstallClearCompressionFlag
Call DownloadClearCompressionFlag
!insertmacro Install "Windows 8.1 Update 1 Preparation Tool" "ClearCompressionFlag.exe" ""
FunctionEnd

View File

@@ -1,149 +0,0 @@
Function GetComponentArch
Var /GLOBAL ComponentArch
${If} $ComponentArch == ""
${If} ${IsNativeIA32}
StrCpy $ComponentArch "x86"
${ElseIf} ${IsNativeAMD64}
StrCpy $ComponentArch "amd64"
${ElseIf} ${IsNativeIA64}
StrCpy $ComponentArch "ia64"
${Else}
StrCpy $ComponentArch ""
${EndIf}
${EndIf}
Push $ComponentArch
FunctionEnd
!macro SPHandler kbid title os sp
!insertmacro NeedsSPHandler "${kbid}" "${os}" "${sp}"
Function Download${kbid}
Call Needs${kbid}
Pop $0
${If} $0 == 1
Call GetArch
Pop $0
ReadINIStr $0 $PLUGINSDIR\Patches.ini "${kbid}" $0
!insertmacro Download "${title}" "$0" "${kbid}.exe" 1
${EndIf}
FunctionEnd
Function Install${kbid}
Call Needs${kbid}
Pop $0
${If} $0 == 1
Call Download${kbid}
!insertmacro InstallSP "${title}" "${kbid}.exe"
${EndIf}
FunctionEnd
!macroend
!macro MSUHandler kbid title packagename
Function Needs${kbid}
Call GetComponentArch
Pop $0
ClearErrors
EnumRegKey $1 HKLM "${REGPATH_PACKAGEINDEX}\${packagename}~31bf3856ad364e35~$0~~0.0.0.0" 0
${If} ${Errors}
Push 1
${Else}
Push 0
${EndIf}
FunctionEnd
Function Download${kbid}
Call Needs${kbid}
Pop $0
${If} $0 == 1
Call GetArch
Pop $0
ReadINIStr $1 $PLUGINSDIR\Patches.ini "${kbid}" $0
!insertmacro DownloadMSU "${kbid}" "${title}" "$1"
${EndIf}
FunctionEnd
Function Install${kbid}
Call Needs${kbid}
Pop $0
${If} $0 == 1
Call Download${kbid}
!insertmacro InstallMSU "${kbid}" "${title}"
${EndIf}
FunctionEnd
!macroend
; Service Packs
!insertmacro SPHandler "VistaSP1" "Windows Vista Service Pack 1" "WinVista" 0
!insertmacro SPHandler "VistaSP2" "Windows Vista Service Pack 2" "WinVista" 1
!insertmacro SPHandler "Win7SP1" "Windows 7 Service Pack 1" "Win7" 0
; Windows Vista post-SP2 update combination that fixes WU indefinitely checking for updates
!insertmacro MSUHandler "KB3205638" "Security Update for Windows Vista" "Package_for_KB3205638"
!insertmacro MSUHandler "KB4012583" "Security Update for Windows Vista" "Package_for_KB4012583"
!insertmacro MSUHandler "KB4015195" "Security Update for Windows Vista" "Package_for_KB4015195"
!insertmacro MSUHandler "KB4015380" "Security Update for Windows Vista" "Package_for_KB4015380"
; Vista IE9
!insertmacro MSUHandler "KB971512" "Update for Windows Vista" "Package_for_KB971512"
!insertmacro MSUHandler "KB2117917" "Platform Update Supplement for Windows Vista" "Package_for_KB2117917"
!insertmacro NeedsFileVersionHandler "IE9" "mshtml.dll" "9.0.8112.16421"
!insertmacro PatchHandler "IE9" "Internet Explorer 9 for Windows Vista" "/passive /norestart /update-no /closeprograms"
; Windows Vista Servicing Stack Update
!insertmacro MSUHandler "KB4493730" "2019-04 Servicing Stack Update for Windows Server 2008" "Package_1_for_KB4493730"
; Windows 7 Servicing Stack Update
!insertmacro MSUHandler "KB3102810" "Update for Windows 7" "Package_for_KB3102810"
!insertmacro MSUHandler "KB3138612" "2016-03 Servicing Stack Update for Windows 7" "Package_for_KB3138612"
!insertmacro MSUHandler "KB4474419" "SHA-2 Code Signing Support Update for Windows 7" "Package_for_KB4474419"
!insertmacro MSUHandler "KB4490628" "2019-03 Servicing Stack Update for Windows 7" "Package_for_KB3138612"
; Windows Home Server 2011 Update Rollup 4
!insertmacro MSUHandler "KB2757011" "Windows Home Server 2011 Update Rollup 4" "Package_for_KB2757011"
Function NeedsVistaPostSP2
Call NeedsKB3205638
Call NeedsKB4012583
Call NeedsKB4015195
Call NeedsKB4015380
Call NeedsKB4493730
Pop $0
Pop $1
Pop $2
Pop $3
Pop $4
${If} $0 == 1
${OrIf} $1 == 1
${OrIf} $2 == 1
${OrIf} $3 == 1
${OrIf} $4 == 1
Push 1
${Else}
Push 0
${EndIf}
FunctionEnd
Function NeedsWin7SHA2
ReadRegDWORD $0 HKLM "${REGPATH_SERVICING_SHA2}" "SHA2-Codesigning-Support"
${If} $0 == 1
Push 0
${Else}
Call NeedsKB3102810
Call NeedsKB3138612
Call NeedsKB4474419
Call NeedsKB4490628
Pop $0
Pop $1
Pop $2
Pop $3
${If} $0 == 1
${OrIf} $1 == 1
${OrIf} $2 == 1
${OrIf} $3 == 1
Push 1
${Else}
Push 0
${EndIf}
${EndIf}
FunctionEnd

View File

@@ -1,40 +1,51 @@
Function DetermineWUAVersion
; Hardcoded special case for XP Home/Embedded SP3, because the WUA 7.6.7600.256 setup SFX is
; seriously broken on it, potentially causing an unbootable Windows install due to it entering an
; infinite loop of creating folders in the root of C:.
${If} ${IsWinXP2002}
${AndIf} ${AtLeastServicePack} 3
${AndIf} ${IsHomeEdition}
${OrIf} ${IsEmbedded}
StrCpy $1 "5.1.3-home"
${Else}
GetWinVer $1 Major
GetWinVer $2 Minor
GetWinVer $3 ServicePack
StrCpy $1 "$1.$2.$3"
${EndIf}
StrCpy $0 ""
ClearErrors
ReadINIStr $2 $PLUGINSDIR\Patches.ini WUA $1
${If} ${Errors}
; WUA refuses to install on 2000 Datacenter Server. Maybe we can hack around this in future.
${If} ${IsWin2000}
${AndIf} ${IsDatacenter}
StrCpy $0 ""
Return
${EndIf}
${GetFileVersion} "$SYSDIR\wuapi.dll" $1
GetWinVer $1 Major
GetWinVer $2 Minor
GetWinVer $3 ServicePack
StrCpy $1 "$1.$2.$3"
; Hardcoded special case for XP Home/Embedded SP3, because the WUA 7.6.7600.256 setup SFX is seriously broken on it,
; potentially causing an unbootable Windows install due to it entering an infinite loop of creating folders in the
; root of C:.
${If} $1 == "5.1.3"
${If} ${IsHomeEdition}
${OrIf} ${IsEmbedded}
StrCpy $1 "$1-home"
${EndIf}
${EndIf}
StrCpy $0 ""
ReadINIStr $2 $PLUGINSDIR\Patches.ini WUA $1
${If} $2 == ""
Return
${EndIf}
${GetFileVersion} "$SYSDIR\wuaueng.dll" $1
${VersionCompare} $1 $2 $3
${If} $3 == 2
Call GetArch
Pop $0
ReadINIStr $0 $PLUGINSDIR\Patches.ini WUA $2-$0
${If} $0 == ""
Return
${EndIf}
ReadINIStr $1 $PLUGINSDIR\Patches.ini WUA Prefix
StrCpy $0 "$1$0"
${EndIf}
FunctionEnd
Function DownloadWUA
Call DetermineWUAVersion
${If} $0 != ""
!insertmacro Download "Windows Update Agent" "$0" "WindowsUpdateAgent.exe" 1
!insertmacro Download "$(WUA)" "$0" "WindowsUpdateAgent.exe" 1
${EndIf}
FunctionEnd
@@ -42,6 +53,6 @@ Function InstallWUA
Call DetermineWUAVersion
${If} $0 != ""
Call DownloadWUA
!insertmacro Install "Windows Update Agent" "WindowsUpdateAgent.exe" "/quiet /norestart"
!insertmacro Install "$(WUA)" "WindowsUpdateAgent.exe" "/quiet /norestart"
${EndIf}
FunctionEnd

Binary file not shown.

View File

@@ -38,143 +38,148 @@
; Windows 2000
[W2KSP4]
ARA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_ar_d2a46163d29f14829f230729e2c0821.exe
CHH-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_hk_89b5425007c388c1c146756557915ab.exe
CHS-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_cn_a6d8fab4fe598cf1d5c3cf257b11fc8.exe
CHT-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_tw_baf16f1aaae8be095127f4a46dded69.exe
CSY-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_cs_d055279f80e684debdac3f4a230ab2c.exe
DAN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_da_e9afc8657e31b34730ea2cda85ece36.exe
DEU-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_de_00d4912b4703c77c46cf53a8a8f2027.exe
ELL-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_el_55eeec8b3b303e61cb0ddab4d943cd1.exe
ENU-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_en_7f12d2da3d7c5b6a62ec4fde9a4b1e6.exe
ESN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_es_51bae94c83adcf9f0ad3155bcf3ddfc.exe
FIN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_fi_794e2bba5a5286287dccf7943055e46.exe
FRA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_fr_4556797dfc88fdd4be13d638bcfb655.exe
HEB-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_he_b8e8519d7ae067f49ce742b59e8bcce.exe
HUN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_hu_1de3d254582472c714af315c85bf2b3.exe
ITA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_it_6395c3848397fa6cf05e0c3d1923205.exe
JPN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_ja_beb10c6f96ac4bb93f6e192b419a50f.exe
KOR-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_ko_8bd7a0eedfaf1fb30439abdad43c347.exe
NLD-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_nl_07596ad911493b966a18b6626e4a1c4.exe
NOR-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_no_64602c5f513d7244dd5790c6a11577e.exe
PLK-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_pl_5248f4f8262d599079f5ee246cafc28.exe
PTB-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_br_a90a49821bf9b5e37810e4c453a5128.exe
PTG-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_pt_cdf5d5ecd163862ff6f641b0a4d4168.exe
RUS-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_ru_980742b1376cf5614a9e10705952dcd.exe
SVE-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_sv_c46814adb550c5184297a290acd9d25.exe
TRK-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_tr_3d5c002a300e271049b18acdc569d83.exe
NEC98-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_ja_7cf59dd6babe7afcf1d7489b40941a8.exe
Prefix=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/
ARA-x86=w2ksp4_ar_d2a46163d29f14829f230729e2c0821.exe
CHH-x86=w2ksp4_hk_89b5425007c388c1c146756557915ab.exe
CHS-x86=w2ksp4_cn_a6d8fab4fe598cf1d5c3cf257b11fc8.exe
CHT-x86=w2ksp4_tw_baf16f1aaae8be095127f4a46dded69.exe
CSY-x86=w2ksp4_cs_d055279f80e684debdac3f4a230ab2c.exe
DAN-x86=w2ksp4_da_e9afc8657e31b34730ea2cda85ece36.exe
DEU-x86=w2ksp4_de_00d4912b4703c77c46cf53a8a8f2027.exe
ELL-x86=w2ksp4_el_55eeec8b3b303e61cb0ddab4d943cd1.exe
ENU-x86=w2ksp4_en_7f12d2da3d7c5b6a62ec4fde9a4b1e6.exe
ESN-x86=w2ksp4_es_51bae94c83adcf9f0ad3155bcf3ddfc.exe
FIN-x86=w2ksp4_fi_794e2bba5a5286287dccf7943055e46.exe
FRA-x86=w2ksp4_fr_4556797dfc88fdd4be13d638bcfb655.exe
HEB-x86=w2ksp4_he_b8e8519d7ae067f49ce742b59e8bcce.exe
HUN-x86=w2ksp4_hu_1de3d254582472c714af315c85bf2b3.exe
ITA-x86=w2ksp4_it_6395c3848397fa6cf05e0c3d1923205.exe
JPN-x86=w2ksp4_ja_beb10c6f96ac4bb93f6e192b419a50f.exe
KOR-x86=w2ksp4_ko_8bd7a0eedfaf1fb30439abdad43c347.exe
NLD-x86=w2ksp4_nl_07596ad911493b966a18b6626e4a1c4.exe
NOR-x86=w2ksp4_no_64602c5f513d7244dd5790c6a11577e.exe
PLK-x86=w2ksp4_pl_5248f4f8262d599079f5ee246cafc28.exe
PTB-x86=w2ksp4_br_a90a49821bf9b5e37810e4c453a5128.exe
PTG-x86=w2ksp4_pt_cdf5d5ecd163862ff6f641b0a4d4168.exe
RUS-x86=w2ksp4_ru_980742b1376cf5614a9e10705952dcd.exe
SVE-x86=w2ksp4_sv_c46814adb550c5184297a290acd9d25.exe
TRK-x86=w2ksp4_tr_3d5c002a300e271049b18acdc569d83.exe
NEC98-x86=w2ksp4_ja_7cf59dd6babe7afcf1d7489b40941a8.exe
[KB835732]
ARA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-ara_caf56d0f9606b68387a228f7aae57d5.exe
CHH-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-cht_c3991c4bde0e9996c3d0727cd3fdbc1.exe
CHS-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-chs_779d1b67c993ed5edaeeb6706f37a0d.exe
CHT-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-cht_c3991c4bde0e9996c3d0727cd3fdbc1.exe
CSY-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-csy_c4f86e2d69be35ba780c4f930b43e63.exe
DAN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-dan_3a6d22e0daccb7fe2d77ccda8624283.exe
DEU-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-deu_62210b6322e8370917f00fb0eb40bf1.exe
ELL-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-ell_5f2073b1f1cad898c61bea003084320.exe
ENU-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-enu_7b7d1dffd9347af2c166bfcecc4782c.exe
ESN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-esn_d62fd2652c870e4a06766638a4b119b.exe
FIN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-fin_08a377df67f697ce14d53d1d9f8dab1.exe
FRA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-fra_85fb76a002b43ad7f8bf236a4469ad4.exe
HEB-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-heb_4c1f72024873e31a37fad21b9194dfc.exe
HUN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-hun_538b15f6b13aba4549248313cfa4c7c.exe
ITA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-ita_10e1ca8aec2249cca79a2dd6f7d05ff.exe
JPN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-jpn_2602d9d56b3995923611494ea90f535.exe
KOR-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-kor_852d1690cd8c36ecf681a454fac484a.exe
NLD-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-nld_742d6aadbbe08ca67b755e0abaaeb8c.exe
NOR-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-nor_99fac6bc7b291e7bc6d7655ea8da446.exe
PLK-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-plk_27a55ddbb55db37b9e15e9975b3f106.exe
PTB-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-ptb_f7d297c52fd7ef6006d3b2798a10025.exe
PTG-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-ptg_67c7095f1db29bb1b4ecb3d253fdde7.exe
RUS-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-rus_0d1eca332ca7543d4cf80846eee3a80.exe
SVE-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-sve_087a446929bed6a79649a7c5a418220.exe
TRK-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-trk_8dc398f69b7c8c59466511aa21eb67c.exe
NEC98-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-nec98-jpn_8fb43a1fa0f40115cae8f3ea72d52bc.exe
[W2KUR1]
Prefix=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/
ARA-x86=windows2000-kb891861-v2-x86-ara_73c7fa3d013476d3a2b8ff8569e3bc82f1ad1582.exe
CHH-x86=windows2000-kb891861-v2-x86-cht_4b7c5abb4e313f5cbd5f139ea7094145e2a80b5a.exe
CHS-x86=windows2000-kb891861-v2-x86-chs_fe99e12ef1944cc43ad2891797ac9a7698e194d9.exe
CHT-x86=windows2000-kb891861-v2-x86-cht_4b7c5abb4e313f5cbd5f139ea7094145e2a80b5a.exe
CSY-x86=windows2000-kb891861-v2-x86-csy_a18b67cb73d57b03d9ae276097e33ae870acc77d.exe
DAN-x86=windows2000-kb891861-v2-x86-dan_0b5521ef897e7859fefd1ceace978ba06a67caf6.exe
DEU-x86=windows2000-kb891861-v2-x86-deu_e2c13be516127d3b1de17a60b9fadfb11862b86b.exe
ELL-x86=windows2000-kb891861-v2-x86-ell_e04a73c2761a323c0b266f766c5cc3e6f9389b76.exe
ENU-x86=windows2000-kb891861-v2-x86-enu_f118bd276f4211929719961a2e929b620c1a2234.exe
ESN-x86=windows2000-kb891861-v2-x86-esn_b9f1a26cc909adca730ed20344cf712480c9877e.exe
FIN-x86=windows2000-kb891861-v2-x86-fin_318d6b6a1ac04e9c9c033d53d7fcd47748e7f75f.exe
FRA-x86=windows2000-kb891861-v2-x86-fra_8d036d92d4895bf23b0e9b714937b5b211b1d592.exe
HEB-x86=windows2000-kb891861-v2-x86-heb_3f08f4037db77733e5de5e1cb89e5bedebb4d249.exe
HUN-x86=windows2000-kb891861-v2-x86-hun_d94efec685c682825592e04130ea1b0bf3c4e532.exe
ITA-x86=windows2000-kb891861-v2-x86-ita_aaf013cd7a046d6069c0250e8e7f0bf8582c3e31.exe
JPN-x86=windows2000-kb891861-v2-x86-jpn_d5fa54ab3547a38fae6260e28227a6fb0ed4a827.exe
KOR-x86=windows2000-kb891861-v2-x86-kor_10db79be10624535fb3926781db5a02efb2b5503.exe
NLD-x86=windows2000-kb891861-v2-x86-nld_33cbe9c7dedc85d22f6fc281aefef77b9d26ce6f.exe
NOR-x86=windows2000-kb891861-v2-x86-nor_6dce467272a1cb3375bc74bec901a581d55661e6.exe
PLK-x86=windows2000-kb891861-v2-x86-plk_1cded665d65ea7614b7b33989efb81a4b91cf674.exe
PTB-x86=windows2000-kb891861-v2-x86-ptb_d1a5c2bf1c9393f64748bab275339d09f767a1d9.exe
PTG-x86=windows2000-kb891861-v2-x86-ptg_ad4fd8ab12ee20236a44cf3e550ee55a3e8019ec.exe
RUS-x86=windows2000-kb891861-v2-x86-rus_2d2b365faf8fc71be99122fa89b8eea97ae40abd.exe
SVE-x86=windows2000-kb891861-v2-x86-sve_e694a39661f9a6531c1b9367ed6fc9458ae536fb.exe
TRK-x86=windows2000-kb891861-v2-x86-trk_31ee7902955f771a63b8bd6165fa41119624ac23.exe
NEC98-x86=windows2000-kb891861-v2-nec98-jpn_ca1372faeb77c66ded958bd3dc8e3344e1cd4260.exe
[W2KIE6]
ARA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-ara_b1720a72becd05142cb4ccbb23205c76b51d29e2.cab
CHH-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-cht_1899bffb8ebf36c0a58686f04cc1d721c419792d.cab
CHS-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-chs_6d93ab8525d3b6f775faf692caaa4c8267c8a22b.cab
CHT-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-cht_1899bffb8ebf36c0a58686f04cc1d721c419792d.cab
CSY-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-csy_2789a030bba2128fc90e0475e2530c300ed5defc.cab
DAN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-dan_0c178b2634a97a4879c172797b21a59e567d18e6.cab
DEU-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-deu_2a13ac14e403ad4a1c6877fe478067e81ac20da8.cab
ELL-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-ell_15a4e43c8922f658eddd5d57d23c11e0fa55dce9.cab
ENU-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-enu_91192253c8d3cf7beff22e68ae1fdff9638bf546.cab
ESN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-esn_a9c53ad93bae78becf2b06f6d317ef7ef66a2abe.cab
FIN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-fin_1a369fcc86e803128144e17246e16d0a27a8c35b.cab
FRA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-fra_0bc4219b3119a127503cd93863cfedfb1e37bd55.cab
HEB-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-heb_70518dd1d09d702975b8e44a22c88e139f168975.cab
HUN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-hun_1eeed3e7b3e6bd311c17c0d97f67ec12df8b4b85.cab
ITA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-ita_2c6ab20b41114e53646ebb56ff6d269fd86fba36.cab
JPN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-jpn_b1e1e8b9dbbf440d8964ec375348674502ef0728.cab
KOR-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-kor_f61474b056ae37c5e9670978c6d3b24f4800d7f5.cab
NLD-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-nld_3fd676fe34f93471f4db9a0a1f3ef5c3ed8e5f43.cab
NOR-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-nor_72a81d06462c5a66f9531f4f226b13463698dd24.cab
PLK-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-plk_14889750985a9d29490886c2e901ef3bc69c4ff5.cab
PTB-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-ptb_448df44aea5d853e4954d48411b1953569df23c2.cab
PTG-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-ptg_5892593c72f702ba6c7d88b47c2bd7c5707081fd.cab
RUS-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-rus_842c289d0887bbe2e4edea1ff3763addc8d77db5.cab
SVE-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-sve_db8dcfef073f2df327fc3706d9a141b6124cfed0.cab
TRK-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-trk_64479241feb2f783f851b16791d5d1c684d94a66.cab
NEC98-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-jpn_b1e1e8b9dbbf440d8964ec375348674502ef0728.cab
Prefix=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/
ARA-x86=ie6sp1-wucab-ara_b1720a72becd05142cb4ccbb23205c76b51d29e2.cab
CHH-x86=ie6sp1-wucab-cht_1899bffb8ebf36c0a58686f04cc1d721c419792d.cab
CHS-x86=ie6sp1-wucab-chs_6d93ab8525d3b6f775faf692caaa4c8267c8a22b.cab
CHT-x86=ie6sp1-wucab-cht_1899bffb8ebf36c0a58686f04cc1d721c419792d.cab
CSY-x86=ie6sp1-wucab-csy_2789a030bba2128fc90e0475e2530c300ed5defc.cab
DAN-x86=ie6sp1-wucab-dan_0c178b2634a97a4879c172797b21a59e567d18e6.cab
DEU-x86=ie6sp1-wucab-deu_2a13ac14e403ad4a1c6877fe478067e81ac20da8.cab
ELL-x86=ie6sp1-wucab-ell_15a4e43c8922f658eddd5d57d23c11e0fa55dce9.cab
ENU-x86=ie6sp1-wucab-enu_91192253c8d3cf7beff22e68ae1fdff9638bf546.cab
ESN-x86=ie6sp1-wucab-esn_a9c53ad93bae78becf2b06f6d317ef7ef66a2abe.cab
FIN-x86=ie6sp1-wucab-fin_1a369fcc86e803128144e17246e16d0a27a8c35b.cab
FRA-x86=ie6sp1-wucab-fra_0bc4219b3119a127503cd93863cfedfb1e37bd55.cab
HEB-x86=ie6sp1-wucab-heb_70518dd1d09d702975b8e44a22c88e139f168975.cab
HUN-x86=ie6sp1-wucab-hun_1eeed3e7b3e6bd311c17c0d97f67ec12df8b4b85.cab
ITA-x86=ie6sp1-wucab-ita_2c6ab20b41114e53646ebb56ff6d269fd86fba36.cab
JPN-x86=ie6sp1-wucab-jpn_b1e1e8b9dbbf440d8964ec375348674502ef0728.cab
KOR-x86=ie6sp1-wucab-kor_f61474b056ae37c5e9670978c6d3b24f4800d7f5.cab
NLD-x86=ie6sp1-wucab-nld_3fd676fe34f93471f4db9a0a1f3ef5c3ed8e5f43.cab
NOR-x86=ie6sp1-wucab-nor_72a81d06462c5a66f9531f4f226b13463698dd24.cab
PLK-x86=ie6sp1-wucab-plk_14889750985a9d29490886c2e901ef3bc69c4ff5.cab
PTB-x86=ie6sp1-wucab-ptb_448df44aea5d853e4954d48411b1953569df23c2.cab
PTG-x86=ie6sp1-wucab-ptg_5892593c72f702ba6c7d88b47c2bd7c5707081fd.cab
RUS-x86=ie6sp1-wucab-rus_842c289d0887bbe2e4edea1ff3763addc8d77db5.cab
SVE-x86=ie6sp1-wucab-sve_db8dcfef073f2df327fc3706d9a141b6124cfed0.cab
TRK-x86=ie6sp1-wucab-trk_64479241feb2f783f851b16791d5d1c684d94a66.cab
NEC98-x86=ie6sp1-wucab-jpn_b1e1e8b9dbbf440d8964ec375348674502ef0728.cab
; Windows XP 2002
[XPSP2]
ARA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_a001b2b27b0f748ab89bd28fa45359f28f95ffb6.exe
CHH-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_546c11a0a5a41e90ae5f021f234d9abad5a0a25a.exe
CHS-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_554ee954bae0f65e88b706cf9b9fd733c02fa397.exe
CHT-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_66d8ba2cbf90737010a45e2b5969c9a779ab1d35.exe
CSY-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_767f81c9d0154bfa21d19a49e0b27ede9f93190a.exe
DAN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_e60a2b567fda2ab2cf4629700cf65cd3f4d46b0d.exe
DEU-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_ac8d3101744ff56f74a4de941dc04a7e567c8ba7.exe
ELL-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_fd86a331f91bc16185e88e6706db859cb27264d1.exe
ENU-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_33a8fef60d48ae1f2c4feea27111af5ceca3c4f6.exe
ESN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_8e7e8de62676d994a7412df190fcdce848f25cf0.exe
FIN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_2feacc1ad5a703d508e9aee4c2fca1e0b9ca9962.exe
FRA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_da94a031147ebd6f8d02eadb7972801843a533bb.exe
HEB-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_76096ed9f2218ac7a14472cbf435f380ffc1c2f6.exe
HUN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_bd03a3d2a28de2de9e58da3e5dec888ffae25aca.exe
ITA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_1334fdd285666bfd821eef8590914f188b1bcc0c.exe
JPN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_d36c0a7046f2dbe29dfff33b6dbb6bb4574bbd7d.exe
KOR-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_4a6b32f007fe94a2a8b4542fc6778582ef4245e3.exe
NLD-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_64551a535981fbcd9c2bac3f91df30c6b3610725.exe
NOR-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_ace2994463597f9cb7cb059e1dca2a87c12bf278.exe
PLK-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_8aefc12abade033f2f093786646206fbb70cbb5d.exe
PTB-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_bcbc1bbb2c493dd0a942d13695b18da0400188f8.exe
PTG-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_db1f7c486f0eda249d77ae91c858a162cefb769b.exe
RUS-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_72946fbe955201f2387430963d4372cda7cac392.exe
SVE-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_3ff578d759e77df91effefe34a42030b8ada1c24.exe
TRK-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_68cfeb8fda746b900f9c3ce313d7348c812fd30d.exe
[XPSP1a]
Prefix=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/
ARA-x86=xpsp1a_e31fa91a89a658f3d586aa1c9992b01af3e11fe0.exe
CHH-x86=xpsp1a_8bd1bde300df00e7bd6831ac37cb87e437e2b729.exe
CHS-x86=xpsp1a_8bd1bde300df00e7bd6831ac37cb87e437e2b729.exe
CHT-x86=xpsp1a_98472ed83897ec104c8496fcd661e6f289ef5090.exe
CSY-x86=xpsp1a_57f0caa259089b1477a162f220d08b1c4bc86010.exe
DAN-x86=xpsp1a_619cc6cf6a98f75d18f4d6eddb662ebfe4a44223.exe
DEU-x86=xpsp1a_cb7d182645ea1019741d9d94732c29251294acdc.exe
ELL-x86=xpsp1a_47666b37340d6224eeb40f67ae16da3e457e64e0.exe
ENU-x86=xpsp1a_8441053935adbfc760b966e5e413d3415a753213.exe
ESN-x86=xpsp1a_e675d08b12d20ca372ba6d3b502074000981870f.exe
FIN-x86=xpsp1a_8a254d89daeb22f4f4ccb9b0861e83cb5ea66196.exe
FRA-x86=xpsp1a_fe557a68aed45003151f647189767aeb2bed53a9.exe
HEB-x86=xpsp1a_499ee7440dba140909fe4d3a86fffd8ec4a1d473.exe
HUN-x86=xpsp1a_9f24000eb4b69aaa975edeb578b4cd22f971318b.exe
ITA-x86=xpsp1a_4f5aa5833bee00c3309fc03d6eafcc6e6f4e2eea.exe
JPN-x86=xpsp1a_a03d9d2ad30a478ca4c2a51c1de26eaca021e4d1.exe
KOR-x86=xpsp1a_e79e224ef297b77c0a23a9440f919c8d64e6554a.exe
NLD-x86=xpsp1a_f1a0183ddc01376d27f374b69fa9364647b336b2.exe
NOR-x86=xpsp1a_487a5bbfcf9164a0cda2bbe31f9d4aed6c5455a2.exe
PLK-x86=xpsp1a_d2a89787c9ac8ed660684686930513663bc723ba.exe
PTB-x86=xpsp1a_87ec9b54ce8b93f7319b2158cbb0fa1de47d48df.exe
PTG-x86=xpsp1a_625bc5ebcc1306c2632c1b1a60a6f8f30f230cb9.exe
RUS-x86=xpsp1a_b5151f669462b3154faf93d48e10beae1b0339aa.exe
SVE-x86=xpsp1a_8f11213e01d65c883a95b8871b6134e179e09941.exe
TRK-x86=xpsp1a_a2bc3da0f0a3d366c78d4c51ea6aabbb2dd0d545.exe
[XPSP3]
ARA-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/04/windowsxp-kb936929-sp3-x86-ara_4e82a87cea3b9643fd57b39393a88061614cdae6.exe
CHH-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-chh_2663fb610f29e65a10be176740ea6757ca1f22d5.exe
CHS-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-chs_d7067e86abd4257454200d0c398d71c4ce6cd33e.exe
CHT-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-cht_8a0625e10b8c6cb88d9d1952f1a189fbd761b744.exe
CSY-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-csy_7af606916b887dba9dd38ae282505ce2c2b81b08.exe
DAN-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-dan_37e03a7d43ad65bc4b71f3947c76bd2fc0fe44d6.exe
DEU-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-deu_f2dcd2211384a78df215c696a7fd1a7949dc794b.exe
ELL-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-ell_cec2ed1c3097e44e62dcb1f2a473a64a58e031fe.exe
ENU-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/04/windowsxp-kb936929-sp3-x86-enu_c81472f7eeea2eca421e116cd4c03e2300ebfde4.exe
ESN-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-esn_e305becfc6fd5a8199368ceffc496397247ac60f.exe
FIN-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-fin_5654c021a03bfb10543a2c673bdfc42a853e347a.exe
FRA-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-fra_414b61bbc86e09579d8447baa23eb1b867f9ca93.exe
HEB-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-heb_eb8fc9ff0890279346661dde065c14b5c696e423.exe
HUN-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-hun_77b70fe421baeebb115c2f378b8a1fc274db9867.exe
ITA-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-ita_2162c1d419d1e462a7dc34294528b2daf593302c.exe
JPN-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-jpn_e0fc34cfa52d270b3c79a68af8fa358244f7419e.exe
KOR-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-kor_8ca7e862bfc2742ad9c4c58df0b0cd5ad4b700ae.exe
NLD-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-nld_b2576b4d1972583a3b776fdf963b914341d34058.exe
NOR-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-nor_67c9167275a2c3e3884a38c2ad7387556ad4713a.exe
PLK-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-plk_7cbe718131e9c71b322f1149e86bedba351ba11c.exe
PTB-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-ptb_02900ef11f5a982a93de5f927997ce92d5a81a86.exe
PTG-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-ptg_bc5189c05e93cd0e5742712d84f0b5f5ffcbb7e4.exe
RUS-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-rus_850cda9f57033a17d046a56d422547ea80dcaf61.exe
SVE-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-sve_13c5ecca22e12224934a1faa1190ee34db3995ae.exe
TRK-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-trk_5aaf60501636af08c97ef1c18f1315f4ed6fbcdf.exe
Prefix=http://download.windowsupdate.com/msdownload/update/software/
ARA-x86=dflt/2008/04/windowsxp-kb936929-sp3-x86-ara_4e82a87cea3b9643fd57b39393a88061614cdae6.exe
CHH-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-chh_2663fb610f29e65a10be176740ea6757ca1f22d5.exe
CHS-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-chs_d7067e86abd4257454200d0c398d71c4ce6cd33e.exe
CHT-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-cht_8a0625e10b8c6cb88d9d1952f1a189fbd761b744.exe
CSY-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-csy_7af606916b887dba9dd38ae282505ce2c2b81b08.exe
DAN-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-dan_37e03a7d43ad65bc4b71f3947c76bd2fc0fe44d6.exe
DEU-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-deu_f2dcd2211384a78df215c696a7fd1a7949dc794b.exe
ELL-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-ell_cec2ed1c3097e44e62dcb1f2a473a64a58e031fe.exe
ENU-x86=dflt/2008/04/windowsxp-kb936929-sp3-x86-enu_c81472f7eeea2eca421e116cd4c03e2300ebfde4.exe
ESN-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-esn_e305becfc6fd5a8199368ceffc496397247ac60f.exe
FIN-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-fin_5654c021a03bfb10543a2c673bdfc42a853e347a.exe
FRA-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-fra_414b61bbc86e09579d8447baa23eb1b867f9ca93.exe
HEB-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-heb_eb8fc9ff0890279346661dde065c14b5c696e423.exe
HUN-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-hun_77b70fe421baeebb115c2f378b8a1fc274db9867.exe
ITA-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-ita_2162c1d419d1e462a7dc34294528b2daf593302c.exe
JPN-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-jpn_e0fc34cfa52d270b3c79a68af8fa358244f7419e.exe
KOR-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-kor_8ca7e862bfc2742ad9c4c58df0b0cd5ad4b700ae.exe
NLD-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-nld_b2576b4d1972583a3b776fdf963b914341d34058.exe
NOR-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-nor_67c9167275a2c3e3884a38c2ad7387556ad4713a.exe
PLK-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-plk_7cbe718131e9c71b322f1149e86bedba351ba11c.exe
PTB-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-ptb_02900ef11f5a982a93de5f927997ce92d5a81a86.exe
PTG-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-ptg_bc5189c05e93cd0e5742712d84f0b5f5ffcbb7e4.exe
RUS-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-rus_850cda9f57033a17d046a56d422547ea80dcaf61.exe
SVE-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-sve_13c5ecca22e12224934a1faa1190ee34db3995ae.exe
TRK-x86=svpk/2008/04/windowsxp-kb936929-sp3-x86-trk_5aaf60501636af08c97ef1c18f1315f4ed6fbcdf.exe
[XPESP3]
; Only seems to be available in English.
@@ -182,43 +187,45 @@ x86=http://web.archive.org/web/20140813085714/http://download.microsoft.com/down
; Windows XP 2003
[2003SP2]
CHH-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windowsserver2003-kb914961-sp2-x86-chh_2de4fb187533e226cd615bcda30b9a8a2836e197.exe
CHS-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-chs_c3e7772c6ad063bac3cb6ca05ea6e1b39c5bb35d.exe
CHT-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-cht_65a62b8ef051bf93d0ccd78900fe8d6709d37a92.exe
CSY-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-csy_fa0c18ba0a265001778e9d2691086742fc4efeb6.exe
DEU-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-deu_f9a055504e882bb06ce2c7e83319000d905f7917.exe
ENU-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-enu_51e1759a1fda6cd588660324abaed59dd3bbe86b.exe
ESN-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-esn_38d7fba08bdebdaf567ae626042e860bf525306e.exe
FRA-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-fra_51f76d9ebb01806f905199f83a16715e8026c095.exe
HUN-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-hun_0ac4aaf8685d74132da6256439ed5f74337cb7f5.exe
ITA-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-ita_75aa7220b0e226330a723cd27cb0f8b56e9b5f22.exe
JPN-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-jpn_af70b74d70df32c530352b75e42ce772e9bb68d2.exe
KOR-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-kor_65bcd5be738a08046f0714a108a5fa334ef08fd0.exe
NLD-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-nld_12014e84ae5c8a41cd918a6e2c97586bdee030f7.exe
PLK-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-plk_213469cc7ac58cfa82215f1e5ca6753675061b57.exe
PTB-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-ptb_73a2c9a9a28f1203aba9f1852c64247467494652.exe
PTG-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-ptg_d8b921ee4bb0e0d2831f249e99c64264ae9098db.exe
RUS-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-rus_b53c66c6cec98327d1a25b77a252dc82d984f959.exe
SVE-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-sve_fba6d5c90dc7c15ae750c98cf407a0f148bbfee5.exe
TRK-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-trk_428236b66433ce6b08c9d7a6aa6c523874a340ae.exe
ENU-x64=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windowsserver2003.windowsxp-kb914961-sp2-x64-enu_7f8e909c52d23ac8b5dbfd73f1f12d3ee0fe794c.exe
JPN-x64=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windowsserver2003.windowsxp-kb914961-sp2-x64-jpn_c725a8c4e03803b12a9ac8820e964dbc377a80dc.exe
DEU-ia64=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windowsserver2003-kb914961-sp2-ia64-deu_f6857c1bb8fc03798541a78cdc1f5bb98b456333.exe
ENU-ia64=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windowsserver2003-kb914961-sp2-ia64-enu_8856af0aa0f198a8aad2de2c1ca68240d1d49bf3.exe
FRA-ia64=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windowsserver2003-kb914961-sp2-ia64-fra_0289b81fe7ed5c1c36f87232f87b25cdb21d331d.exe
JPN-ia64=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windowsserver2003-kb914961-sp2-ia64-jpn_3216b1978fd418181ecbf77eef67398edb97a106.exe
Prefix=http://download.windowsupdate.com/msdownload/update/
CHH-x86=v3-19990518/cabpool/windowsserver2003-kb914961-sp2-x86-chh_2de4fb187533e226cd615bcda30b9a8a2836e197.exe
CHS-x86=software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-chs_c3e7772c6ad063bac3cb6ca05ea6e1b39c5bb35d.exe
CHT-x86=software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-cht_65a62b8ef051bf93d0ccd78900fe8d6709d37a92.exe
CSY-x86=software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-csy_fa0c18ba0a265001778e9d2691086742fc4efeb6.exe
DEU-x86=software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-deu_f9a055504e882bb06ce2c7e83319000d905f7917.exe
ENU-x86=software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-enu_51e1759a1fda6cd588660324abaed59dd3bbe86b.exe
ESN-x86=software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-esn_38d7fba08bdebdaf567ae626042e860bf525306e.exe
FRA-x86=software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-fra_51f76d9ebb01806f905199f83a16715e8026c095.exe
HUN-x86=software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-hun_0ac4aaf8685d74132da6256439ed5f74337cb7f5.exe
ITA-x86=software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-ita_75aa7220b0e226330a723cd27cb0f8b56e9b5f22.exe
JPN-x86=software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-jpn_af70b74d70df32c530352b75e42ce772e9bb68d2.exe
KOR-x86=software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-kor_65bcd5be738a08046f0714a108a5fa334ef08fd0.exe
NLD-x86=software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-nld_12014e84ae5c8a41cd918a6e2c97586bdee030f7.exe
PLK-x86=software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-plk_213469cc7ac58cfa82215f1e5ca6753675061b57.exe
PTB-x86=software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-ptb_73a2c9a9a28f1203aba9f1852c64247467494652.exe
PTG-x86=software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-ptg_d8b921ee4bb0e0d2831f249e99c64264ae9098db.exe
RUS-x86=software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-rus_b53c66c6cec98327d1a25b77a252dc82d984f959.exe
SVE-x86=software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-sve_fba6d5c90dc7c15ae750c98cf407a0f148bbfee5.exe
TRK-x86=software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-trk_428236b66433ce6b08c9d7a6aa6c523874a340ae.exe
ENU-x64=v3-19990518/cabpool/windowsserver2003.windowsxp-kb914961-sp2-x64-enu_7f8e909c52d23ac8b5dbfd73f1f12d3ee0fe794c.exe
JPN-x64=v3-19990518/cabpool/windowsserver2003.windowsxp-kb914961-sp2-x64-jpn_c725a8c4e03803b12a9ac8820e964dbc377a80dc.exe
DEU-ia64=v3-19990518/cabpool/windowsserver2003-kb914961-sp2-ia64-deu_f6857c1bb8fc03798541a78cdc1f5bb98b456333.exe
ENU-ia64=v3-19990518/cabpool/windowsserver2003-kb914961-sp2-ia64-enu_8856af0aa0f198a8aad2de2c1ca68240d1d49bf3.exe
FRA-ia64=v3-19990518/cabpool/windowsserver2003-kb914961-sp2-ia64-fra_0289b81fe7ed5c1c36f87232f87b25cdb21d331d.exe
JPN-ia64=v3-19990518/cabpool/windowsserver2003-kb914961-sp2-ia64-jpn_3216b1978fd418181ecbf77eef67398edb97a106.exe
; Windows Update Agent standalone installer
[WUA]
Prefix=http://download.windowsupdate.com/windowsupdate/redist/standalone/
; Pay no attention to the version numbers in the urls, they're all over the place. The keys have the
; actual versions of dlls that gets installed.
7.2.6001.788-x86=http://download.windowsupdate.com/windowsupdate/redist/standalone/7.2.6001.788/WindowsUpdateAgent30-x86.exe
7.2.6001.788-x64=http://download.windowsupdate.com/windowsupdate/redist/standalone/7.2.6001.788/WindowsUpdateAgent30-x64.exe
7.2.6001.788-ia64=http://download.windowsupdate.com/windowsupdate/redist/standalone/7.2.6001.788/WindowsUpdateAgent30-ia64.exe
7.6.7600.243-x86=http://download.windowsupdate.com/windowsupdate/redist/standalone/7.4.7600.243/WindowsUpdateAgent30-x86.exe
7.6.7600.256-x86=http://download.windowsupdate.com/windowsupdate/redist/standalone/7.6.7600.320/WindowsUpdateAgent-7.6-x86.exe
7.6.7600.256-x64=http://download.windowsupdate.com/windowsupdate/redist/standalone/7.6.7600.320/WindowsUpdateAgent-7.6-x64.exe
7.6.7600.256-ia64=http://download.windowsupdate.com/windowsupdate/redist/standalone/7.6.7600.320/WindowsUpdateAgent-7.6-ia64.exe
7.2.6001.788-x86=7.2.6001.788/WindowsUpdateAgent30-x86.exe
7.2.6001.788-x64=7.2.6001.788/WindowsUpdateAgent30-x64.exe
7.2.6001.788-ia64=7.2.6001.788/WindowsUpdateAgent30-ia64.exe
7.6.7600.243-x86=7.4.7600.243/WindowsUpdateAgent30-x86.exe
7.6.7600.256-x86=7.6.7600.320/WindowsUpdateAgent-7.6-x86.exe
7.6.7600.256-x64=7.6.7600.320/WindowsUpdateAgent-7.6-x64.exe
7.6.7600.256-ia64=7.6.7600.320/WindowsUpdateAgent-7.6-ia64.exe
; Win2k
5.0.0=7.2.6001.788
5.0.1=7.2.6001.788
@@ -236,115 +243,146 @@ JPN-ia64=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool
5.2.1=7.2.6001.788
5.2.2=7.6.7600.256
; Vista/Server 08
6.0.0=7.6.7600.256
6.0.1=7.6.7600.256
6.0.2=7.6.7600.256
; Vista/Server 08
[VistaSP1]
x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windows6.0-kb936330-x86_b8a3fa8f819269e37d8acde799e7a9aea3dd4529.exe
x64=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windows6.0-kb936330-x64_12eed6cf0a842ce2a609c622b843afc289a8f4b9.exe
Prefix=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/
x86=windows6.0-kb936330-x86_b8a3fa8f819269e37d8acde799e7a9aea3dd4529.exe
x64=windows6.0-kb936330-x64_12eed6cf0a842ce2a609c622b843afc289a8f4b9.exe
; No ia64 release for Vista SP1
[VistaSP2]
x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2009/06/windows6.0-kb948465-x86_55f17352b4398ecb4f0cc20e3737631420ca1609.exe
x64=http://download.windowsupdate.com/msdownload/update/software/svpk/2009/06/windows6.0-kb948465-x64_2eedca0bfa5ae8d1b0acf2117ddc4f15ac5183c9.exe
ia64=http://download.windowsupdate.com/msdownload/update/software/svpk/2009/06/windows6.0-kb948465-ia64_1a6cd9ade213bcc056cba3b810e86f0c09c16b51.exe
Prefix=http://download.windowsupdate.com/msdownload/update/software/svpk/2009/06/
x86=windows6.0-kb948465-x86_55f17352b4398ecb4f0cc20e3737631420ca1609.exe
x64=windows6.0-kb948465-x64_2eedca0bfa5ae8d1b0acf2117ddc4f15ac5183c9.exe
ia64=windows6.0-kb948465-ia64_1a6cd9ade213bcc056cba3b810e86f0c09c16b51.exe
[KB3205638]
x86=http://download.windowsupdate.com/d/msdownload/update/software/secu/2016/11/windows6.0-kb3205638-x86_e2211e9a6523061972decd158980301fc4c32a47.msu
x64=http://download.windowsupdate.com/d/msdownload/update/software/secu/2016/11/windows6.0-kb3205638-x64_a52aaa009ee56ca941e21a6009c00bc4c88cbb7c.msu
ia64=http://download.windowsupdate.com/d/msdownload/update/software/secu/2016/11/windows6.0-kb3205638-ia64_d6bd55663080885c712c3afb9021c7336d0be83a.msu
Prefix=http://download.windowsupdate.com/d/msdownload/update/software/secu/2016/11/
x86=windows6.0-kb3205638-x86_e2211e9a6523061972decd158980301fc4c32a47.msu
x64=windows6.0-kb3205638-x64_a52aaa009ee56ca941e21a6009c00bc4c88cbb7c.msu
ia64=windows6.0-kb3205638-ia64_d6bd55663080885c712c3afb9021c7336d0be83a.msu
[KB4012583]
x86=http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/02/windows6.0-kb4012583-x86_1887cb5393b62cbd2dbb6a6ff6b136e809a2fbd0.msu
x64=http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/02/windows6.0-kb4012583-x64_f63c9a85aa877d86c886e432560fdcfad53b752d.msu
ia64=http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/02/windows6.0-kb4012583-ia64_ab1ab96d3a3d7fbd1bf5d1cee53bf0be958c6329.msu
Prefix=http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/02/
x86=windows6.0-kb4012583-x86_1887cb5393b62cbd2dbb6a6ff6b136e809a2fbd0.msu
x64=windows6.0-kb4012583-x64_f63c9a85aa877d86c886e432560fdcfad53b752d.msu
ia64=windows6.0-kb4012583-ia64_ab1ab96d3a3d7fbd1bf5d1cee53bf0be958c6329.msu
[KB4015195]
x86=http://download.windowsupdate.com/d/msdownload/update/software/secu/2017/03/windows6.0-kb4015195-x86_eb045e0144266b20b615f29fa581c4001ebb7852.msu
x64=http://download.windowsupdate.com/d/msdownload/update/software/secu/2017/03/windows6.0-kb4015195-x64_2e310724d86b6a43c5ae8ec659685dd6cfb28ba4.msu
ia64=http://download.windowsupdate.com/d/msdownload/update/software/secu/2017/03/windows6.0-kb4015195-ia64_0ae8f7c2ab5cf24123f6e279469674d823d20129.msu
Prefix=http://download.windowsupdate.com/d/msdownload/update/software/secu/2017/03/
x86=windows6.0-kb4015195-x86_eb045e0144266b20b615f29fa581c4001ebb7852.msu
x64=windows6.0-kb4015195-x64_2e310724d86b6a43c5ae8ec659685dd6cfb28ba4.msu
ia64=windows6.0-kb4015195-ia64_0ae8f7c2ab5cf24123f6e279469674d823d20129.msu
[KB4015380]
x86=http://download.windowsupdate.com/d/msdownload/update/software/secu/2017/03/windows6.0-kb4015380-x86_3f3548db24cf61d6f47d2365c298d739e6cb069a.msu
x64=http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/03/windows6.0-kb4015380-x64_959aedbe0403d160be89f4dac057e2a0cd0c6d40.msu
ia64=http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/03/windows6.0-kb4015380-ia64_2a825e5f1aca191bb5f627b494838660180da2d6.msu
Prefix=http://download.windowsupdate.com/
x86=d/msdownload/update/software/secu/2017/03/windows6.0-kb4015380-x86_3f3548db24cf61d6f47d2365c298d739e6cb069a.msu
x64=c/msdownload/update/software/secu/2017/03/windows6.0-kb4015380-x64_959aedbe0403d160be89f4dac057e2a0cd0c6d40.msu
ia64=c/msdownload/update/software/secu/2017/03/windows6.0-kb4015380-ia64_2a825e5f1aca191bb5f627b494838660180da2d6.msu
[KB4493730]
x86=http://download.windowsupdate.com/d/msdownload/update/software/secu/2019/04/windows6.0-kb4493730-x86_ab4368f19db796680ff445a7769886c4cdc009a0.msu
x64=http://download.windowsupdate.com/d/msdownload/update/software/secu/2019/04/windows6.0-kb4493730-x64_5cb91f4e9000383f061b80f88feffdf228c2443c.msu
ia64=http://download.windowsupdate.com/d/msdownload/update/software/secu/2019/04/windows6.0-kb4493730-ia64_024e5a390f7eace6d2e9dcaa91f09976e4d147db.msu
Prefix=http://download.windowsupdate.com/d/msdownload/update/software/secu/2019/04/
x86=windows6.0-kb4493730-x86_ab4368f19db796680ff445a7769886c4cdc009a0.msu
x64=windows6.0-kb4493730-x64_5cb91f4e9000383f061b80f88feffdf228c2443c.msu
ia64=windows6.0-kb4493730-ia64_024e5a390f7eace6d2e9dcaa91f09976e4d147db.msu
; IE9 for Vista
[KB971512]
x86=http://download.windowsupdate.com/msdownload/update/software/updt/2009/10/windows6.0-kb971512-x86_370c3e41e1c161ddce29676e9273e4b8bb7ba3eb.msu
x64=http://download.windowsupdate.com/msdownload/update/software/updt/2009/10/windows6.0-kb971512-x64_0b329b985437c6c572529e5fd0042b9d54aeaa0c.msu
Prefix=http://download.windowsupdate.com/msdownload/update/software/updt/2009/10/
x86=windows6.0-kb971512-x86_370c3e41e1c161ddce29676e9273e4b8bb7ba3eb.msu
x64=windows6.0-kb971512-x64_0b329b985437c6c572529e5fd0042b9d54aeaa0c.msu
[KB2117917]
x86=http://download.windowsupdate.com/msdownload/update/software/updt/2011/02/windows6.0-kb2117917-x86_370435d9efa6643c44d6506666b1960d56cf673a.msu
x64=http://download.windowsupdate.com/msdownload/update/software/updt/2011/02/windows6.0-kb2117917-x64_655a21758801e9648702791d7bf30f81b58884b3.msu
Prefix=http://download.windowsupdate.com/msdownload/update/software/updt/2011/02/
x86=windows6.0-kb2117917-x86_370435d9efa6643c44d6506666b1960d56cf673a.msu
x64=windows6.0-kb2117917-x64_655a21758801e9648702791d7bf30f81b58884b3.msu
[IE9]
x86=http://download.windowsupdate.com/msdownload/update/software/uprl/2011/05/wu-ie9-windowsvista-x86_90e3e90e964c2769a008cbf924eefdc42413dd52.exe
x64=http://download.windowsupdate.com/msdownload/update/software/uprl/2011/03/wu-ie9-windowsvista-x64_f599c02e7e1ea8a4e1029f0e49418a8be8416367.exe
Prefix=http://download.windowsupdate.com/msdownload/update/software/uprl/2011/
x86=05/wu-ie9-windowsvista-x86_90e3e90e964c2769a008cbf924eefdc42413dd52.exe
x64=03/wu-ie9-windowsvista-x64_f599c02e7e1ea8a4e1029f0e49418a8be8416367.exe
; 7/Server 08 R2
[Win7SP1]
x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2011/02/windows6.1-kb976932-x86_c3516bc5c9e69fee6d9ac4f981f5b95977a8a2fa.exe
x64=http://download.windowsupdate.com/msdownload/update/software/svpk/2011/02/windows6.1-kb976932-x64_74865ef2562006e51d7f9333b4a8d45b7a749dab.exe
[KB3102810]
x86=http://web.archive.org/web/20240309135134id_/http://download.microsoft.com/download/A/0/9/A09BC0FD-747C-4B97-8371-1A7F5AC417E9/Windows6.1-KB3102810-x86.msu
x64=http://web.archive.org/web/20240309135154id_/https://download.microsoft.com/download/F/A/A/FAABD5C2-4600-45F8-96F1-B25B137E3C87/Windows6.1-KB3102810-x64.msu
Prefix=http://download.windowsupdate.com/msdownload/update/software/svpk/2011/02/
x86=windows6.1-kb976932-x86_c3516bc5c9e69fee6d9ac4f981f5b95977a8a2fa.exe
x64=windows6.1-kb976932-x64_74865ef2562006e51d7f9333b4a8d45b7a749dab.exe
[KB3138612]
x86=http://download.windowsupdate.com/d/msdownload/update/software/updt/2016/02/windows6.1-kb3138612-x86_6e90531daffc13bc4e92ecea890e501e807c621f.msu
x64=http://download.windowsupdate.com/d/msdownload/update/software/updt/2016/02/windows6.1-kb3138612-x64_f7b1de8ea7cf8faf57b0138c4068d2e899e2b266.msu
ia64=http://download.windowsupdate.com/d/msdownload/update/software/updt/2016/02/windows6.1-kb3138612-ia64_4edd5410fb137382d77f468a14118fa6d1c03655.msu
Prefix=http://download.windowsupdate.com/d/msdownload/update/software/updt/2016/02/
x86=windows6.1-kb3138612-x86_6e90531daffc13bc4e92ecea890e501e807c621f.msu
x64=windows6.1-kb3138612-x64_f7b1de8ea7cf8faf57b0138c4068d2e899e2b266.msu
ia64=windows6.1-kb3138612-ia64_4edd5410fb137382d77f468a14118fa6d1c03655.msu
[KB4474419]
x86=http://download.windowsupdate.com/c/msdownload/update/software/secu/2019/09/windows6.1-kb4474419-v3-x86_0f687d50402790f340087c576886501b3223bec6.msu
x64=http://download.windowsupdate.com/c/msdownload/update/software/secu/2019/09/windows6.1-kb4474419-v3-x64_b5614c6cea5cb4e198717789633dca16308ef79c.msu
ia64=http://download.windowsupdate.com/c/msdownload/update/software/secu/2019/09/windows6.1-kb4474419-v3-ia64_1436a990f64876332857baaafa7aeb9eadcb4fa4.msu
Prefix=http://download.windowsupdate.com/c/msdownload/update/software/secu/2019/09/
x86=windows6.1-kb4474419-v3-x86_0f687d50402790f340087c576886501b3223bec6.msu
x64=windows6.1-kb4474419-v3-x64_b5614c6cea5cb4e198717789633dca16308ef79c.msu
ia64=windows6.1-kb4474419-v3-ia64_1436a990f64876332857baaafa7aeb9eadcb4fa4.msu
[KB4490628]
x86=http://download.windowsupdate.com/c/msdownload/update/software/secu/2019/03/windows6.1-kb4490628-x86_3cdb3df55b9cd7ef7fcb24fc4e237ea287ad0992.msu
x64=http://download.windowsupdate.com/c/msdownload/update/software/secu/2019/03/windows6.1-kb4490628-x64_d3de52d6987f7c8bdc2c015dca69eac96047c76e.msu
ia64=http://download.windowsupdate.com/d/msdownload/update/software/secu/2019/03/windows6.1-kb4490628-ia64_4736acd98e0a4e02f29fcdef63feacc5ac7b702b.msu
Prefix=http://download.windowsupdate.com/
x86=c/msdownload/update/software/secu/2019/03/windows6.1-kb4490628-x86_3cdb3df55b9cd7ef7fcb24fc4e237ea287ad0992.msu
x64=c/msdownload/update/software/secu/2019/03/windows6.1-kb4490628-x64_d3de52d6987f7c8bdc2c015dca69eac96047c76e.msu
ia64=d/msdownload/update/software/secu/2019/03/windows6.1-kb4490628-ia64_4736acd98e0a4e02f29fcdef63feacc5ac7b702b.msu
; Windows Home Server 2011
[KB2757011]
x64=http://download.windowsupdate.com/msdownload/update/software/uprl/2012/12/windows6.1-kb2757011-x64_4140355ab0b06df89668ec51432a820dff9af356.msu
Prefix=http://download.windowsupdate.com/msdownload/update/software/uprl/2012/12/
x64=windows6.1-kb2757011-x64_4140355ab0b06df89668ec51432a820dff9af356.msu
; 8/Server 2012
[KB4598297]
x86=http://download.windowsupdate.com/d/msdownload/update/software/secu/2021/01/windows8-rt-kb4598297-x86_a517ea587c91af5f803b0973d40166c3e076fe5c.msu
x64=http://download.windowsupdate.com/d/msdownload/update/software/secu/2021/01/windows8-rt-kb4598297-x64_60f5c45d1216ee6ff1ab88ca03b037ac519ad0da.msu
Prefix=http://download.windowsupdate.com/d/msdownload/update/software/secu/2021/01/
x86=windows8-rt-kb4598297-x86_a517ea587c91af5f803b0973d40166c3e076fe5c.msu
x64=windows8-rt-kb4598297-x64_60f5c45d1216ee6ff1ab88ca03b037ac519ad0da.msu
; 8.1/Server 2012 R2
[KB3021910]
x86=http://download.windowsupdate.com/c/msdownload/update/software/updt/2015/04/windows8.1-kb3021910-x86_7e70173bec00c3d4fe3b0b8cba17b095b4ed2d20.msu
x64=http://download.windowsupdate.com/c/msdownload/update/software/updt/2015/04/windows8.1-kb3021910-x64_e291c0c339586e79c36ebfc0211678df91656c3d.msu
Prefix=http://download.windowsupdate.com/
x86=c/msdownload/update/software/updt/2015/04/windows8.1-kb3021910-x86_7e70173bec00c3d4fe3b0b8cba17b095b4ed2d20.msu
x64=c/msdownload/update/software/updt/2015/04/windows8.1-kb3021910-x64_e291c0c339586e79c36ebfc0211678df91656c3d.msu
arm=d/msdownload/update/software/updt/2015/03/windows8.1-kb3021910-arm_72a8286480463b9328f742c7247d7c155a716cd0.msu
[ClearCompressionFlag]
x86=http://download.windowsupdate.com/c/msdownload/update/software/secu/2014/04/clearcompressionflag_220edca17ae47089fc4da060915e0df568eac4ff.exe
x64=http://download.windowsupdate.com/d/msdownload/update/software/secu/2014/04/clearcompressionflag_3104315db9d84f6a2a56b9621e89ea66a8c27604.exe
Prefix=http://download.windowsupdate.com/
x86=c/msdownload/update/software/secu/2014/04/clearcompressionflag_220edca17ae47089fc4da060915e0df568eac4ff.exe
x64=d/msdownload/update/software/secu/2014/04/clearcompressionflag_3104315db9d84f6a2a56b9621e89ea66a8c27604.exe
arm=c/msdownload/update/software/secu/2014/04/clearcompressionflag_70c52df15023ad1fa579149f0435e6a2b078fc94.exe
[KB2919355]
x86=http://download.windowsupdate.com/c/msdownload/update/software/crup/2014/02/windows8.1-kb2919355-x86_de9df31e42fe034c9a763328326e5852c2b4963d.msu
x64=http://download.windowsupdate.com/d/msdownload/update/software/crup/2014/02/windows8.1-kb2919355-x64_e6f4da4d33564419065a7370865faacf9b40ff72.msu
Prefix=http://download.windowsupdate.com/
x86=c/msdownload/update/software/crup/2014/02/windows8.1-kb2919355-x86_de9df31e42fe034c9a763328326e5852c2b4963d.msu
x64=d/msdownload/update/software/crup/2014/02/windows8.1-kb2919355-x64_e6f4da4d33564419065a7370865faacf9b40ff72.msu
arm=c/msdownload/update/software/crup/2014/02/windows8.1-kb2919355-arm_a6119d3e5ddd1a233a09dd79d91067de7b826f85.msu
[KB2932046]
x86=http://download.windowsupdate.com/c/msdownload/update/software/crup/2014/02/windows8.1-kb2932046-x86_bfd8ca4c683ccec26355afc1f2e677f3809cb3d6.msu
x64=http://download.windowsupdate.com/d/msdownload/update/software/crup/2014/02/windows8.1-kb2932046-x64_6aee5fda6e2a6729d1fbae6eac08693acd70d985.msu
Prefix=http://download.windowsupdate.com/
x86=c/msdownload/update/software/crup/2014/02/windows8.1-kb2932046-x86_bfd8ca4c683ccec26355afc1f2e677f3809cb3d6.msu
x64=d/msdownload/update/software/crup/2014/02/windows8.1-kb2932046-x64_6aee5fda6e2a6729d1fbae6eac08693acd70d985.msu
arm=c/msdownload/update/software/crup/2014/02/windows8.1-kb2932046-arm_fe6acf558880d127aef1a759a8c2539afc67b5fb.msu
[KB2959977]
x86=http://download.windowsupdate.com/d/msdownload/update/software/secu/2014/04/windows8.1-kb2959977-x86_5ccf761a356bb143b68887f99883d8c24946d2c2.msu
x64=http://download.windowsupdate.com/c/msdownload/update/software/secu/2014/04/windows8.1-kb2959977-x64_574ba2d60baa13645b764f55069b74b2de866975.msu
Prefix=http://download.windowsupdate.com/
x86=d/msdownload/update/software/secu/2014/04/windows8.1-kb2959977-x86_5ccf761a356bb143b68887f99883d8c24946d2c2.msu
x64=c/msdownload/update/software/secu/2014/04/windows8.1-kb2959977-x64_574ba2d60baa13645b764f55069b74b2de866975.msu
arm=c/msdownload/update/software/secu/2014/04/windows8.1-kb2959977-arm_d37dfe20cdc496b4ed4338913d225fc1a9a91d36.msu
[KB2937592]
x86=http://download.windowsupdate.com/d/msdownload/update/software/crup/2014/02/windows8.1-kb2937592-x86_96a3416d480bd2b54803df26b8e76cd1d0008d43.msu
x64=http://download.windowsupdate.com/c/msdownload/update/software/crup/2014/02/windows8.1-kb2937592-x64_4abc0a39c9e500c0fbe9c41282169c92315cafc2.msu
Prefix=http://download.windowsupdate.com/
x86=d/msdownload/update/software/crup/2014/02/windows8.1-kb2937592-x86_96a3416d480bd2b54803df26b8e76cd1d0008d43.msu
x64=c/msdownload/update/software/crup/2014/02/windows8.1-kb2937592-x64_4abc0a39c9e500c0fbe9c41282169c92315cafc2.msu
arm=c/msdownload/update/software/crup/2014/02/windows8.1-kb2937592-arm_860c83a0cccc0519111f57a679ae9f9d071315e5.msu
[KB2934018]
x86=http://download.windowsupdate.com/d/msdownload/update/software/secu/2014/04/windows8.1-kb2934018-x86_8fb05387836b77abbf1755185ae743c9da417e9a.msu
x64=http://download.windowsupdate.com/c/msdownload/update/software/secu/2014/04/windows8.1-kb2934018-x64_234a5fc4955f81541f5bfc0d447e4fc4934efc38.msu
Prefix=http://download.windowsupdate.com/
x86=d/msdownload/update/software/secu/2014/04/windows8.1-kb2934018-x86_8fb05387836b77abbf1755185ae743c9da417e9a.msu
x64=c/msdownload/update/software/secu/2014/04/windows8.1-kb2934018-x64_234a5fc4955f81541f5bfc0d447e4fc4934efc38.msu
arm=c/msdownload/update/software/secu/2014/04/windows8.1-kb2934018-arm_28c62f5a4129ba24ab75936517c5066435702ae8.msu
[KB3097667]
arm=http://download.windowsupdate.com/d/msdownload/update/software/updt/2015/09/windows8.1-kb3033055-arm_1b0aeee420c6ad850de7cfac0c485d4bd7965f71.msu

View File

@@ -2,165 +2,262 @@
!define IsPostInstall `"" HasFlag "/postinstall"`
!define NoRestart `"" HasFlag "/norestart"`
!macro -PromptReboot
!macro PromptReboot
!insertmacro InhibitSleep 0
SetErrorLevel ${ERROR_SUCCESS_REBOOT_REQUIRED}
${If} ${NoRestart}
; Prompt for reboot
${IfNot} ${Silent}
System::Call '${RestartDialog}($HWNDPARENT, \
"Windows will be restarted to complete installation of prerequisite components. Setup will resume after the restart.", \
${EWX_REBOOT})'
${AndIfNot} ${IsPassive}
System::Call '${RestartDialog}($HWNDPARENT, "", ${EWX_REBOOT})'
${EndIf}
Quit
${Else}
; Reboot immediately
Reboot
System::Call '${GetUserName}(.r0, ${NSIS_MAX_STRLEN}) .r1'
${If} ${IsRunOnce}
${AndIf} $0 == "SYSTEM"
; Running in setup mode. Winlogon will reboot for us.
SetErrorLevel ${ERROR_SUCCESS}
Quit
${Else}
; Regular reboot.
Reboot
${EndIf}
${EndIf}
!macroend
!macro -RegisterRunOnce flags
WriteRegStr HKLM "${REGPATH_RUNONCE}" "Legacy Update" '"$RunOnceDir\LegacyUpdateSetup.exe" ${flags}'
!macroend
Function RegisterRunOnce
!insertmacro -RegisterRunOnce "/runonce"
FunctionEnd
Function un.RegisterRunOnce
; Unused, just needs to exist to make the compiler happy
FunctionEnd
Function RegisterRunOncePostInstall
!insertmacro -RegisterRunOnce "/postinstall"
FunctionEnd
!macro -WriteRegStrWithBackup root key name value
; Backup the key if it exists
!macro RunOnceOverwriteReg type root subkey name value
ClearErrors
ReadRegStr $0 ${root} "${key}" "${name}"
ReadReg${type} $0 ${root} "${subkey}" "${name}"
${IfNot} ${Errors}
WriteRegStr ${root} "${key}" "LegacyUpdate_${name}" $0
WriteReg${type} ${root} "${subkey}" "${name}_LegacyUpdateTemp" $0
${EndIf}
WriteRegStr ${root} "${key}" "${name}" "${value}"
WriteReg${type} ${root} "${subkey}" "${name}" `${value}`
!macroend
!macro -RestoreRegStr root key name
; Restore the key if it exists
!macro RunOnceRestoreReg type root subkey name fallback
ClearErrors
ReadRegStr $0 ${root} "${key}" "LegacyUpdate_${name}"
ReadReg${type} $0 ${root} "${subkey}" "${name}_LegacyUpdateTemp"
${If} ${Errors}
DeleteRegValue ${root} "${key}" "${name}"
!if "${fallback}" == "-"
DeleteRegValue ${root} "${subkey}" "${name}"
!else
WriteReg${type} ${root} "${subkey}" "${name}" `${fallback}`
!endif
${Else}
WriteRegStr ${root} "${key}" "${name}" $0
DeleteRegValue ${root} "${key}" "LegacyUpdate_${name}"
WriteReg${type} ${root} "${subkey}" "${name}" $0
DeleteRegValue ${root} "${subkey}" "${name}_LegacyUpdateTemp"
${EndIf}
!macroend
!macro -RebootIfRequired un
Function CleanUpRunOnce
; Restore setup keys
; Be careful here. Doing this wrong can cause SYSTEM_LICENSE_VIOLATION bootloops!
!insertmacro RunOnceRestoreReg Str HKLM "${REGPATH_SETUP}" "CmdLine" ""
!insertmacro RunOnceRestoreReg Dword HKLM "${REGPATH_SETUP}" "SetupType" ${SETUP_TYPE_NORMAL}
DeleteRegValue HKLM "${REGPATH_SETUP}" "SetupShutdownRequired"
${If} ${Abort}
Call CleanUpRunOnceFinal
${EndIf}
FunctionEnd
Function CleanUpRunOnceFinal
; Enable keys we disabled if needed
${If} ${IsWinXP2002}
!insertmacro RunOnceRestoreReg Dword HKLM "${REGPATH_SECURITYCENTER}" "FirstRunDisabled" "-"
${EndIf}
${If} ${AtLeastWin8}
!insertmacro RunOnceRestoreReg Dword HKLM "${REGPATH_POLICIES_SYSTEM}" "EnableFirstLogonAnimation" "-"
${EndIf}
; Delete runonce stuff
RMDir /r /REBOOTOK "${RUNONCEDIR}"
; Delete IE6 temp files
RMDir /r /REBOOTOK "$WINDIR\Windows Update Setup Files"
FunctionEnd
Function CopyLauncher
${If} ${IsNativeAMD64}
File /ONAME=LegacyUpdate.exe "..\launcher\obj\LegacyUpdate64.exe"
${Else}
File /ONAME=LegacyUpdate.exe "..\launcher\obj\LegacyUpdate32.exe"
${EndIf}
FunctionEnd
Var /GLOBAL RunOnce.UseFallback
Function PrepareRunOnce
${If} ${RebootFlag}
${IfNot} ${IsRunOnce}
${AndIfNot} ${NoRestart}
!insertmacro DetailPrint "Preparing to restart..."
; Get the localised name of the Administrators group from its SID
System::Call '*(&i1 0, &i4 0, &i1 5) i .r0'
; S-1-5-32-544
System::Call '${AllocateAndInitializeSid}(r0, 2, ${SECURITY_BUILTIN_DOMAIN_RID}, ${DOMAIN_ALIAS_RID_ADMINS}, 0, 0, 0, 0, 0, 0, .r1)'
System::Free $0
System::Call '${LookupAccountSid}(0, r1, .r0, ${NSIS_MAX_STRLEN}, .r2, ${NSIS_MAX_STRLEN}, 0)'
System::Call '${FreeSid}(r1)'
; Create the admin user
ExecShellWait "" "$WINDIR\system32\net.exe" "user /add ${RUNONCE_USERNAME} ${RUNONCE_PASSWORD}" SW_HIDE
ExecShellWait "" "$WINDIR\system32\net.exe" 'localgroup /add "$0" ${RUNONCE_USERNAME}' SW_HIDE
!insertmacro -WriteRegStrWithBackup HKLM "${REGPATH_WINLOGON}" "AutoAdminLogon" "1"
!insertmacro -WriteRegStrWithBackup HKLM "${REGPATH_WINLOGON}" "DefaultDomainName" "."
!insertmacro -WriteRegStrWithBackup HKLM "${REGPATH_WINLOGON}" "DefaultUserName" "${RUNONCE_USERNAME}"
!insertmacro -WriteRegStrWithBackup HKLM "${REGPATH_WINLOGON}" "DefaultPassword" "${RUNONCE_PASSWORD}"
; Copy to runonce path to ensure installer is accessible by the temp user
CreateDirectory "$RunOnceDir"
CopyFiles /SILENT "$EXEPATH" "$RunOnceDir\LegacyUpdateSetup.exe"
CreateDirectory "${RUNONCEDIR}"
SetOutPath "${RUNONCEDIR}"
CopyFiles /SILENT "$EXEPATH" "${RUNONCEDIR}\LegacyUpdateSetup.exe"
Call CopyLauncher
; Remove mark of the web to prevent "Open File - Security Warning" dialog
System::Call '${DeleteFile}("$RunOnceDir\LegacyUpdateSetup.exe:Zone.Identifier")'
Delete "${RUNONCEDIR}\LegacyUpdateSetup.exe:Zone.Identifier"
${EndIf}
Call ${un}RegisterRunOnce
!insertmacro -PromptReboot
Quit
${If} $RunOnce.UseFallback == 1
WriteRegStr HKLM "${REGPATH_RUNONCE}" "LegacyUpdateRunOnce" '"${RUNONCEDIR}\LegacyUpdateSetup.exe" /runonce'
${Else}
; Somewhat documented in KB939857:
; https://web.archive.org/web/20090723061647/http://support.microsoft.com/kb/939857
; See also Wine winternl.h
!insertmacro RunOnceOverwriteReg Str HKLM "${REGPATH_SETUP}" "CmdLine" '"${RUNONCEDIR}\LegacyUpdate.exe" /runonce'
!insertmacro RunOnceOverwriteReg Dword HKLM "${REGPATH_SETUP}" "SetupType" ${SETUP_TYPE_NOREBOOT}
WriteRegDword HKLM "${REGPATH_SETUP}" "SetupShutdownRequired" ${SETUP_SHUTDOWN_REBOOT}
${EndIf}
; Temporarily disable Security Center first run if needed
${If} ${IsWinXP2002}
${AndIfNot} ${AtLeastServicePack} 2
${VerbosePrint} "Disabling Security Center first run"
!insertmacro RunOnceOverwriteReg Dword HKLM "${REGPATH_SECURITYCENTER}" "FirstRunDisabled" 1
${EndIf}
; Temporarily disable logon animation if needed
${If} ${AtLeastWin8}
${VerbosePrint} "Disabling first logon animation"
!insertmacro RunOnceOverwriteReg Dword HKLM "${REGPATH_POLICIES_SYSTEM}" "EnableFirstLogonAnimation" 0
${EndIf}
${EndIf}
!macroend
FunctionEnd
Function RebootIfRequired
${MementoSectionSave}
!insertmacro -RebootIfRequired ""
FunctionEnd
${If} ${RebootFlag}
; Give the user a moment to understand we're rebooting
${DetailPrint} "$(StatusRestarting)"
Sleep 2000
Function un.RebootIfRequired
!insertmacro -RebootIfRequired "un."
; Now reboot
Call PrepareRunOnce
!insertmacro PromptReboot
${Else}
; Restore setup keys
Call CleanUpRunOnce
${EndIf}
FunctionEnd
Function OnRunOnceLogon
; Trick winlogon into thinking the shell has started, so it doesn't appear to be stuck at
; "Welcome" (XP) or "Preparing your desktop..." (Vista+)
; https://social.msdn.microsoft.com/Forums/WINDOWS/en-US/ca253e22-1ef8-4582-8710-9cd9c89b15c3
${If} ${AtLeastWinVista}
StrCpy $0 "ShellDesktopSwitchEvent"
${Else}
StrCpy $0 "msgina: ShellReadyEvent"
${EndIf}
; To be safe in case we crash, immediately restore setup keys. We'll set them again if needed.
Call CleanUpRunOnce
System::Call '${OpenEvent}(${EVENT_MODIFY_STATE}, 0, "$0") .r0'
${If} $0 != 0
System::Call '${SetEvent}(r0)'
System::Call '${CloseHandle}(r0)'
${EndIf}
; Handle Safe Mode case. RunOnce can still be processed in Safe Mode in some edge cases. If that
; happens, just silently register runonce again and quit.
${If} ${IsSafeMode}
Call RegisterRunOnce
Quit
${EndIf}
; Allow the themes component to be registered if necessary. This sets the theme to Aero Basic
; rather than Classic in Vista/7.
; If we're in the middle of installing a service pack, the system will reboot without notice. Be prepared for that
; to happen.
ClearErrors
ReadRegStr $0 HKLM "${REGPATH_COMPONENT_THEMES}" "StubPath"
EnumRegKey $1 HKLM "${REGPATH_CBS_REBOOTINPROGRESS}" 0
${IfNot} ${Errors}
ExecShellWait "" "$WINDIR\system32\cmd.exe" "/c $0" SW_HIDE
; System will reboot without notice. Be prepared for that to happen.
${VerbosePrint} "CBS reboot is pending"
Call PrepareRunOnce
${EndIf}
FunctionEnd
Function CleanUpRunOnce
; Restore autologon keys
!insertmacro -RestoreRegStr HKLM "${REGPATH_WINLOGON}" "AutoAdminLogon"
!insertmacro -RestoreRegStr HKLM "${REGPATH_WINLOGON}" "DefaultDomainName"
!insertmacro -RestoreRegStr HKLM "${REGPATH_WINLOGON}" "DefaultUserName"
!insertmacro -RestoreRegStr HKLM "${REGPATH_WINLOGON}" "DefaultPassword"
!macro SetMarquee state
Push $0
FindWindow $0 "#32770" "" $HWNDPARENT
FindWindow $0 "msctls_progress32" "" $0
!if ${state} == 1
${NSD_AddStyle} $0 ${PBS_MARQUEE}
SendMessage $0 ${PBM_SETMARQUEE} 1 100
!else
${NSD_RemoveStyle} $0 ${PBS_MARQUEE}
!endif
Pop $0
!macroend
; Delete the temp user
ExecShellWait "" "$WINDIR\system32\net.exe" "user /delete ${RUNONCE_USERNAME}" SW_HIDE
Function PollCbsInstall
${IfNot} ${AtLeastWinVista}
Return
${EndIf}
ReadRegDWORD $0 HKLM "${REGPATH_CBS}" "ExecuteState"
${If} $0 == ${CBS_EXECUTE_STATE_NONE}
${OrIf} $0 == ${CBS_EXECUTE_STATE_NONE2}
Return
${EndIf}
${VerbosePrint} "Packages are still installing [$0]"
${DetailPrint} "$(StatusCbsInstalling)"
; Set marquee progress bar
!insertmacro SetMarquee 1
${While} 1 == 1
; Are we in a RebootInProgress phase?
ClearErrors
EnumRegKey $1 HKLM "${REGPATH_CBS_REBOOTINPROGRESS}" 0
${IfNot} ${Errors}
; Spin forever. TrustedInstaller will reboot on its own.
${While} 1 == 1
Sleep 10000
${EndWhile}
${EndIf}
; Poll ExecuteState, waiting for TrustedInstaller to be done.
ReadRegDWORD $0 HKLM "${REGPATH_CBS}" "ExecuteState"
${If} $0 == ${CBS_EXECUTE_STATE_NONE}
${OrIf} $0 == ${CBS_EXECUTE_STATE_NONE2}
${Break}
${EndIf}
Sleep 1000
${EndWhile}
; Revert progress bar
!insertmacro SetMarquee 0
FunctionEnd
Function RebootIfCbsRebootPending
${IfNot} ${AtLeastWinVista}
Return
${EndIf}
StrCpy $1 0
ReadRegDWORD $0 HKLM "${REGPATH_CBS}" "ExecuteState"
${If} $0 != ${CBS_EXECUTE_STATE_NONE}
${AndIf} $0 != ${CBS_EXECUTE_STATE_NONE2}
StrCpy $1 1
${EndIf}
ClearErrors
EnumRegKey $0 HKLM "${REGPATH_CBS_REBOOTPENDING}" 0
${IfNot} ${Errors}
StrCpy $1 1
${EndIf}
EnumRegKey $0 HKLM "${REGPATH_CBS_PACKAGESPENDING}" 0
${IfNot} ${Errors}
StrCpy $1 1
${EndIf}
${If} $1 == 1
${VerbosePrint} "Restarting to install previously pending packages"
SetRebootFlag true
Call RebootIfRequired
${EndIf}
FunctionEnd
Function OnRunOnceDone
${If} ${IsRunOnce}
; Clean up temporary setup exe if we created it (likely on next reboot)
${If} ${FileExists} "$RunOnceDir"
RMDir /r /REBOOTOK "$RunOnceDir"
${EndIf}
${AndIfNot} ${Abort}
; Set up postinstall runonce
${VerbosePrint} "Preparing postinstall"
WriteRegStr HKLM "${REGPATH_RUNONCE}" "LegacyUpdatePostInstall" '"${RUNONCEDIR}\LegacyUpdateSetup.exe" /postinstall'
; Be really really sure this is the right user before we nuke their profile and log out
System::Call '${GetUserName}(.r0, ${NSIS_MAX_STRLEN}) .r1'
${If} $0 == "${RUNONCE_USERNAME}"
; Register postinstall runonce for the next admin user logon, and log out of the temporary user
${IfNot} ${Abort}
Call RegisterRunOncePostInstall
${EndIf}
RMDir /r /REBOOTOK "$PROFILE"
System::Call "${ExitWindowsEx}(${EWX_FORCE}, 0) .r0"
${If} $0 == "SYSTEM"
; Configure winlogon to proceed to the logon dialog
Call CleanUpRunOnce
${EndIf}
${EndIf}
FunctionEnd

View File

@@ -1,4 +1,8 @@
!macro -SetSecureProtocolsBitmask
!macro -SetSecureProtocolsBitmask root path key
ReadRegDword $0 ${root} "${path}" "${key}"
${VerbosePrint} "${root}\${path}"
${VerbosePrint} "Before: $0"
; If the value isn't yet set, ReadRegDword will return 0. This means TLSv1.1 and v1.2 will be the
; only enabled protocols. This is intentional behavior, because SSLv2 and SSLv3 are not secure,
; and TLSv1.0 is deprecated. The user can manually enable them in Internet Settings if needed.
@@ -10,6 +14,9 @@
${EndIf}
IntOp $0 $0 | ${WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1}
IntOp $0 $0 | ${WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2}
${VerbosePrint} "After: $0"
WriteRegDword ${root} "${path}" "${key}" $0
!macroend
Function _ConfigureCrypto
@@ -24,22 +31,12 @@ Function _ConfigureCrypto
WriteRegDword HKLM "${REGPATH_SCHANNEL_PROTOCOLS}\TLS 1.2\Server" "DisabledByDefault" 0
; Enable IE TLSv1.1 and v1.2
ReadRegDword $0 HKLM "${REGPATH_INETSETTINGS}" "SecureProtocols"
!insertmacro -SetSecureProtocolsBitmask
WriteRegDword HKLM "${REGPATH_INETSETTINGS}" "SecureProtocols" $0
ReadRegDword $0 HKCU "${REGPATH_INETSETTINGS}" "SecureProtocols"
!insertmacro -SetSecureProtocolsBitmask
WriteRegDword HKCU "${REGPATH_INETSETTINGS}" "SecureProtocols" $0
!insertmacro -SetSecureProtocolsBitmask HKLM "${REGPATH_INETSETTINGS}" "SecureProtocols"
!insertmacro -SetSecureProtocolsBitmask HKCU "${REGPATH_INETSETTINGS}" "SecureProtocols"
; Enable WinHTTP TLSv1.1 and v1.2
ReadRegDword $0 HKLM "${REGPATH_INETSETTINGS}\WinHttp" "DefaultSecureProtocols"
!insertmacro -SetSecureProtocolsBitmask
WriteRegDword HKLM "${REGPATH_INETSETTINGS}\WinHttp" "DefaultSecureProtocols" $0
ReadRegDword $0 HKCU "${REGPATH_INETSETTINGS}\WinHttp" "DefaultSecureProtocols"
!insertmacro -SetSecureProtocolsBitmask
WriteRegDword HKCU "${REGPATH_INETSETTINGS}\WinHttp" "DefaultSecureProtocols" $0
!insertmacro -SetSecureProtocolsBitmask HKLM "${REGPATH_INETSETTINGS}\WinHttp" "DefaultSecureProtocols"
!insertmacro -SetSecureProtocolsBitmask HKCU "${REGPATH_INETSETTINGS}\WinHttp" "DefaultSecureProtocols"
; Enable .NET inheriting SChannel protocol config
; .NET 3 uses the same registry keys as .NET 2.
@@ -48,10 +45,12 @@ Function _ConfigureCrypto
FunctionEnd
Function ConfigureCrypto
${VerbosePrint} "Configuring crypto (native)"
Call _ConfigureCrypto
; Repeat in the WOW64 registry if needed
${If} ${RunningX64}
${VerbosePrint} "Configuring crypto (WOW64)"
SetRegView 32
Call _ConfigureCrypto
SetRegView 64
@@ -59,24 +58,42 @@ Function ConfigureCrypto
FunctionEnd
!macro _DownloadSST name
!insertmacro Download "Certificate Trust List" "${TRUSTEDR}/${name}.sst" "${name}.sst" 0
!insertmacro Download "$(CTL) (${name})" "${TRUSTEDR}/${name}.sst" "${name}.sst" 0
!macroend
Function DownloadRoots
!insertmacro DetailPrint "Downloading Certificate Trust List..."
!insertmacro _DownloadSST "authroots"
!insertmacro _DownloadSST "delroots"
!insertmacro _DownloadSST "roots"
!insertmacro _DownloadSST "updroots"
!insertmacro _DownloadSST "disallowedcert"
${DetailPrint} "$(Downloading)$(CTL)..."
!insertmacro _DownloadSST authroots
!insertmacro _DownloadSST delroots
!insertmacro _DownloadSST roots
!insertmacro _DownloadSST updroots
!insertmacro _DownloadSST disallowedcert
FunctionEnd
!macro _InstallRoots state store file
LegacyUpdateNSIS::UpdateRoots ${state} ${store} "${file}"
Pop $0
${If} $0 != 0
LegacyUpdateNSIS::MessageForHresult $0
Pop $1
StrCpy $2 "$(CTL) (${file})"
MessageBox MB_USERICON "$(MsgBoxInstallFailed)" /SD IDOK
SetErrorLevel $0
Abort
${EndIf}
!macroend
Function UpdateRoots
File "updroots.exe"
!insertmacro DetailPrint "Installing Certificate Trust List..."
!insertmacro ExecWithErrorHandling "Certificate Trust List" '"$OUTDIR\updroots.exe" authroots.sst' 0
!insertmacro ExecWithErrorHandling "Certificate Trust List" '"$OUTDIR\updroots.exe" updroots.sst' 0
!insertmacro ExecWithErrorHandling "Certificate Trust List" '"$OUTDIR\updroots.exe" -l roots.sst' 0
!insertmacro ExecWithErrorHandling "Certificate Trust List" '"$OUTDIR\updroots.exe" -d delroots.sst' 0
!insertmacro ExecWithErrorHandling "Certificate Trust List" '"$OUTDIR\updroots.exe" -l -u disallowedcert.sst' 0
${DetailPrint} "$(Installing)$(CTL)..."
!insertmacro _InstallRoots /update AuthRoot authroots.sst
!insertmacro _InstallRoots /update AuthRoot updroots.sst
!insertmacro _InstallRoots /update Root roots.sst
!insertmacro _InstallRoots /delete AuthRoot delroots.sst
!insertmacro _InstallRoots /update Disallowed disallowedcert.sst
WriteRegStr HKLM "${REGPATH_COMPONENTS}\${ROOTSUPDATE_GUID}" "" "RootsUpdate"
WriteRegDword HKLM "${REGPATH_COMPONENTS}\${ROOTSUPDATE_GUID}" "IsInstalled" 1
WriteRegStr HKLM "${REGPATH_COMPONENTS}\${ROOTSUPDATE_GUID}" "Version" "1337,0,2195,0"
WriteRegStr HKLM "${REGPATH_COMPONENTS}\${ROOTSUPDATE_GUID}" "Locale" "*"
WriteRegStr HKLM "${REGPATH_COMPONENTS}\${ROOTSUPDATE_GUID}" "ComponentID" "Windows Roots Update"
FunctionEnd

View File

@@ -1,12 +1,10 @@
; advapi32
!define SECURITY_BUILTIN_DOMAIN_RID 0x00000020
!define DOMAIN_ALIAS_RID_ADMINS 0x00000220
!define AllocateAndInitializeSid 'advapi32::AllocateAndInitializeSid(i, i, i, i, i, i, i, i, i, i, *i) i'
!define LookupAccountSid 'advapi32::LookupAccountSid(i, i, t, *i, t, *i, *i) i'
!define FreeSid 'advapi32::FreeSid(i)'
!define GetUserName 'advapi32::GetUserName(t, *i) i'
; cbscore
!define CBS_EXECUTE_STATE_NONE -1
!define CBS_EXECUTE_STATE_NONE2 0xffffffff ; Probably an underflow of -1?
; kernel32
!define PF_XMMI64_INSTRUCTIONS_AVAILABLE 10
@@ -14,36 +12,25 @@
!define ES_SYSTEM_REQUIRED 0x00000001
!define GetVersionEx 'kernel32::GetVersionEx(pr) i'
!define GetLogicalProcessorInformationEx 'kernel32::GetLogicalProcessorInformationEx(i, *i, *i) i'
!define IsProcessorFeaturePresent 'kernel32::IsProcessorFeaturePresent(i) i'
!define SetThreadExecutionState 'kernel32::SetThreadExecutionState(i) i'
!define OpenEvent 'kernel32::OpenEvent(i, i, t) i'
!define SetEvent 'kernel32::SetEvent(i) i'
!define CloseHandle 'kernel32::CloseHandle(i) i'
!define DeleteFile 'kernel32::DeleteFile(t) i'
; netapi32
!define NetApiBufferFree 'netapi32::NetApiBufferFree(i) i'
!define NetUserGetInfo 'netapi32::NetUserGetInfo(t, t, i, *i) i'
!define NetUserAdd 'netapi32::NetUserAdd(t, i, t, i, *i) i'
!define NetLocalGroupAddMembers 'netapi32::NetLocalGroupAddMembers(t, t, i, *i, i) i'
; ole32
!define CoCreateInstance 'ole32::CoCreateInstance(g, p, i, g, *p) i'
!define CoTaskMemFree 'ole32::CoTaskMemFree(p)'
; oleaut32
!define SysAllocString 'oleaut32::SysAllocString(t) p'
!define SysFreeString 'oleaut32::SysFreeString(p)'
; ntdll
!define RtlGetNtVersionNumbers 'ntdll::RtlGetNtVersionNumbers(*i, *i, *i)'
; shell32
!define IsUserAnAdmin 'shell32::IsUserAnAdmin() i'
!define RestartDialog 'shell32::RestartDialog(p, t, i) i'
; user32
!define EWX_REBOOT 0x02
!define EWX_FORCE 0x04
!define ExitWindowsEx 'user32::ExitWindowsEx(i, i) i'
!define PBS_SMOOTH 0x02
!define PBS_MARQUEE 0x08
!define GetSystemMetrics 'user32::GetSystemMetrics(i) i'
; winhttp
@@ -62,6 +49,11 @@
!define SECURITY_FLAG_STRENGTH_STRONG 0x20000000
; winlogon
!define SETUP_TYPE_NORMAL 0
!define SETUP_TYPE_NOREBOOT 2
!define SETUP_SHUTDOWN_REBOOT 1
; wuapi
!define WU_S_ALREADY_INSTALLED 2359302 ; 0x00240006
!define WU_E_NOT_APPLICABLE -2145124329 ; 0x80240017

View File

@@ -16,6 +16,7 @@
!define WINVER_7 0x0601 ; 6.1.7600
!define WINVER_8 0x0602 ; 6.2.9200
!define WINVER_8.1 0x0603 ; 6.3.9600
!define WINVER_10TP 0x0604 ; 6.4.9841-9883
!define WINVER_10 0x0A00 ; 10.0.10240
!define WINVER_SERVER_2000 ${WINVER_2000}
@@ -27,6 +28,18 @@
!define WINVER_SERVER_2012R2 ${WINVER_8.1}
!define WINVER_SERVER_2016 ${WINVER_10}
!define WINVER_BUILD_2000 2195
!define WINVER_BUILD_XP2002 2600
!define WINVER_BUILD_XP2003 3790
!define WINVER_BUILD_VISTA 6000
!define WINVER_BUILD_VISTA_SP1 6001
!define WINVER_BUILD_VISTA_SP2 6002
!define WINVER_BUILD_VISTA_ESU 6003
!define WINVER_BUILD_7 7600
!define WINVER_BUILD_7_SP1 7601
!define WINVER_BUILD_8 9200
!define WINVER_BUILD_8.1 9600
!define WINVER_BUILD_10 10240
!define WINVER_BUILD_11 22000
!define /ifndef VER_NT_WORKSTATION 1
@@ -58,7 +71,6 @@
Var /GLOBAL __WINVERBUILD
Var /GLOBAL __WINVERSP
Var /GLOBAL __WINVERPROD
Var /GLOBAL __WINVERSUITE
!endif
StrCmp $__WINVEROS "" _winver_noveryet
@@ -69,7 +81,19 @@
GetWinVer $__WINVERBUILD Build
GetWinVer $__WINVERSP ServicePack
GetWinVer $__WINVERPROD Product
!macroend
!macro __WinVer_InitEx
!ifndef __WINVER_VARS_DECLARED_EX
!define __WINVER_VARS_DECLARED_EX
Var /GLOBAL __WINVERSUITE
!endif
StrCmp $__WINVERSUITE "" _winver_noveryet_ex
Return
_winver_noveryet_ex:
Push $0
Push $1
System::Alloc ${OSVERSIONINFOEXW_SIZE}
@@ -107,7 +131,7 @@
!macro __WinVer_TestSuite _a num _t _f
!insertmacro _LOGICLIB_TEMP
${CallArtificialFunction} __WinVer_Init
${CallArtificialFunction} __WinVer_InitEx
IntOp $_LOGICLIB_TEMP $__WINVERSUITE & ${num}
!insertmacro _= $_LOGICLIB_TEMP ${num} `${_t}` `${_f}`
!macroend
@@ -127,6 +151,7 @@
!define IsHomeEdition `"" _WinVer_TestSuite ${VER_SUITE_PERSONAL}`
!define IsEmbedded `"" _WinVer_TestSuite ${VER_SUITE_EMBEDDEDNT}`
!define IsDatacenter `"" _WinVer_TestSuite ${VER_SUITE_DATACENTER}`
!define IsHomeServer `"" _WinVer_TestSuite ${VER_SUITE_WH_SERVER}`
!define IsSafeMode `!= _WinVer_TestSystemMetric ${SM_CLEANBOOT}`

View File

@@ -1,89 +0,0 @@
; Stub file used to replace the ie6setup_w2k.exe file that was previously hosted by Legacy Update.
; This was a full copy of IE6 SP1, but only for English installations of Windows 2000.
; This is expected to ONLY be run by Legacy Update 1.5 and earlier. It should not be used directly.
!define MUI_UI "modern_aerowizard.exe"
!define MUI_UI_HEADERIMAGE "modern_aerowizard.exe"
!define MUI_CUSTOMFUNCTION_GUIINIT OnShow
!include Constants.nsh
Name "${NAME}"
Caption "${NAME} - Internet Explorer 6 Downloader"
BrandingText "${NAME} ${VERSION} - ${DOMAIN}"
OutFile "ie6setupstub-${VERSION}.exe"
Unicode True
RequestExecutionLevel Admin
AutoCloseWindow true
VIAddVersionKey /LANG=1033 "ProductName" "${NAME} - Internet Explorer 6 Downloader"
VIAddVersionKey /LANG=1033 "ProductVersion" "${LONGVERSION}"
VIAddVersionKey /LANG=1033 "CompanyName" "Hashbang Productions"
VIAddVersionKey /LANG=1033 "LegalCopyright" "© Hashbang Productions. All rights reserved."
VIAddVersionKey /LANG=1033 "FileDescription" "${NAME} - Internet Explorer 6 Downloader"
VIAddVersionKey /LANG=1033 "FileVersion" "${LONGVERSION}"
VIProductVersion ${LONGVERSION}
VIFileVersion ${LONGVERSION}
!define MUI_ICON "..\icon.ico"
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "setupbanner.bmp"
!include FileFunc.nsh
!include LogicLib.nsh
!include MUI2.nsh
!include Win\WinNT.nsh
!include WinCore.nsh
!include WinVer.nsh
!include WordFunc.nsh
!include x64.nsh
!include Common.nsh
!include AeroWizard.nsh
!include Download2KXP.nsh
!insertmacro GetParameters
!insertmacro GetOptions
!define MUI_PAGE_HEADER_TEXT "Performing Actions"
!define MUI_PAGE_CUSTOMFUNCTION_SHOW OnShow
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"
Function OnShow
Call AeroWizardOnShow
FunctionEnd
Section "Internet Explorer 6.0 Service Pack 1" IE6SP1
SectionIn Ro
Call DownloadIE6
Call InstallIE6
SectionEnd
Function .onInit
SetShellVarContext All
!insertmacro EnsureAdminRights
SetDetailsPrint listonly
${IfNot} ${IsWin2000}
MessageBox MB_USERICON "This tool is intended only for use on Windows 2000." /SD IDOK
Quit
${EndIf}
Call NeedsIE6
Pop $0
${If} $0 == 0
MessageBox MB_USERICON "Internet Explorer 6 Service Pack 1 is already installed." /SD IDOK
Quit
${EndIf}
SetOutPath $PLUGINSDIR
File Patches.ini
SetErrorLevel ${ERROR_SUCCESS_REBOOT_REQUIRED}
FunctionEnd

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Binary file not shown.