scriptable-client-installers/tools/Include/VPatchLib.nsh
2023-12-15 16:09:19 -05:00

48 lines
677 B
Plaintext

; PatchLib v3.0
; =============
;
; Library with macro for use with VPatch (DLL version) in NSIS 2.0.5+
; Created by Koen van de Sande
!include LogicLib.nsh
!macro VPatchFile PATCHDATA SOURCEFILE TEMPFILE
Push $1
Push $2
Push $3
Push $4
Push ${SOURCEFILE}
Push ${TEMPFILE}
Pop $2 # temp file
Pop $3 # source file
InitPluginsDir
GetTempFileName $1 $PLUGINSDIR
File /oname=$1 ${PATCHDATA}
vpatch::vpatchfile $1 $3 $2
Pop $4
DetailPrint $4
StrCpy $4 $4 2
${Unless} $4 == "OK"
SetErrors
${EndIf}
${If} ${FileExists} $2
Delete $3
Rename /REBOOTOK $2 $3
${EndIf}
Delete $1
Pop $4
Pop $3
Pop $2
Pop $1
!macroend