146 lines
4.1 KiB
Plaintext
146 lines
4.1 KiB
Plaintext
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 "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 NeedsKB3138612
|
|
Call NeedsKB4474419
|
|
Call NeedsKB4490628
|
|
Pop $0
|
|
Pop $1
|
|
Pop $2
|
|
${If} $0 == 1
|
|
${OrIf} $1 == 1
|
|
${OrIf} $2 == 1
|
|
Push 1
|
|
${Else}
|
|
Push 0
|
|
${EndIf}
|
|
${EndIf}
|
|
FunctionEnd
|