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
|