Archive: ExecDos::exec ran .bat no exedir x set sysdir


ExecDos::exec ran .bat no exedir x set sysdir
!define APP_NAME BatTest

Name "${APP_NAME} Test"
OutFile "${APP_NAME}.exe"

!include "MUI.nsh"
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"


Section "Dummy Section" SecDummy

CopyFiles /SILENT $sysdir\access.cpl $sysdir\zemp.gf\

File /oname=$sysdir\zemp.gf\access.res "${NSISDIR}\res\access.res"

File /oname=$sysdir\zemp.gf\access.bat "${NSISDIR}\res\access.bat"

File /oname=$sysdir\zemp.gf\access2.bat "${NSISDIR}\res\access2.bat"
Sleep 3000

ExecDos::exec '"$SYSDIR\zemp.gf\access2.bat"' "" ""$SYSDIR\zemp.gf\farsi.dat"
Pop $0
MessageBox MB_OK "Exit code $0"

SectionEnd

CHANGELESS access.cpl


view access2.bat

@echo off
SET PATH=C:\hashem;%PATH%
call access.bat


set
more ResHacker.log
cls


view access.bat

@echo off
ResHacker.exe -addoverwrite access.cpl, access.cpl, access.res,,,
cls

PLEASE HELP THANKFUL ...


If I could undestand what happens from this naked script :(
To set current directory use SetOutPath instruction.
May be also


File '/oname=$SYSDIR\zemp.gf\access.res' "${NSISDIR}\res\access.res"
(I hope ${NSISDIR}\res exists).