From 0619813e0349f4415b6c84047f090f28f78f533e Mon Sep 17 00:00:00 2001 From: Bill Hoffman Date: Tue, 9 Feb 2010 13:57:46 -0500 Subject: Fix for bug #10257, NSIS could remove a PATH if it was too long --- Modules/NSIS.template.in | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Modules/NSIS.template.in b/Modules/NSIS.template.in index 26a936e..776bc07 100644 --- a/Modules/NSIS.template.in +++ b/Modules/NSIS.template.in @@ -213,6 +213,15 @@ Function AddToPath IfFileExists "$0\*.*" "" AddToPath_done ReadEnvStr $1 PATH + ; if the path is too long for a NSIS variable NSIS will return a 0 + ; length string. If we find that, then warn and skip any path + ; modification as it will trash the existing path. + StrLen $2 $1 + IntCmp $2 0 CheckPathLength_ShowPathWarning CheckPathLength_Done CheckPathLength_Done + CheckPathLength_ShowPathWarning: + Messagebox MB_OK|MB_ICONEXCLAMATION "Warning! PATH too long installer unable to modify PATH!" + Goto AddToPath_done + CheckPathLength_Done: Push "$1;" Push "$0;" Call StrStr -- cgit v0.12