Here is the part of code
ReadEnvStr $R2 PATH
${WriteEnvStr} $R7 "PATH" "$R1\fgl\bin;$R1\mysql\bin;$R2"
And the values I get :
BEFORE INSTALL :
PATH --> LOCAL USER
C:\Program Files\CVS\CVS\Tcl\bin;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\UltraEdit;C:\Program Files\Informix\Client-SDK\bin
PATH --> SYSTEM
C:\Program Files\CVS\CVS\Tcl\bin;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\UltraEdit;C:\Program Files\Informix\Client-SDK\bin
AFTER INSTALL :
PATH --> LOCAL USER
C:\PROGRA~1\FourJs\gep\fgl\bin;C:\PROGRA~1\FourJs\gep\mysql\bin;C:\Program Files\FourJs\gep 1.00.1c\mysql\bin;C:\Program Files\FourJs\gep 1.00.1c\fgl\bin;C:\Program Files\CVS\CVS\Tcl\bin;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\UltraEdit;C:\Program Files\Informix\Client-SDK\bin;C:\Program Files\FourJs\gep 1.00.1c\mysql\bin;C:\Program Files\FourJs\gep 1.00.1c\fgl\bin;C:\Program Files\CVS\CVS\Tcl\bin;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\UltraEdit;C:\Program Files\Informix\Client-SDK\bin
PATH --> SYSTEM
C:\Program Files\CVS\CVS\Tcl\bin;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\UltraEdit;C:\Program Files\Informix\Client-SDK\bin
It doubles everything.
I've find a way to escape this but i'm not sure it's clean but it works :
ReadRegStr $R2 HKCU "Environment" PATH
${WriteEnvStr} $R7 "PATH" "$R1\fgl\bin;$R1\mysql\bin;$R2"