48 lines
677 B
Plaintext
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
|