lcbatFile=Fullpath(Forceext(Sys(2015),"bat")) TEXT textmerge noshow to lcBat pkzip25 -add=update -dire <<lcZipName>> @<<listfile>> ><<logfile>> ENDTEXT lcThere=Fullpath(".") Strtofile(lcBat, lcbatFile) Local oprocess As api_apprun Of Process.vcx oprocess=Newobject('api_apprun','process', '', lcbatFile, lcThere, 'HID') oprocess.LaunchAppAndWait() Release oprocess Erase (lcbatFile)The major point is using full path for the location of where the process is supposed to run - but that's something you have to pay attention to even with a Run command. The full path for the batch file (or whatever command you are running) is maybe not necessary, but I still supply it, just to be on the safe side.