; 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