Rex, I suspect that this is a question that only you can answer, although others may have some comments on their experiences with this I'm sure. What is the difference (in terms of what happens in your code) between these two commands?? Code: [D:\programs\RealTemp]d:\programs\RealTemp\RealTemp.exe [D:\programs\RealTemp]start d:\programs\RealTemp\RealTemp.exe My reason for asking this question is that the program concerned behaves differently between the two invocations - with the former it correctly finds and reads its INI file whereas with the latter it does not. Now that may well be a bug in the program being invoked - http://www.techpowerup.com/realtemp/ - but I can't think of any good reason why it would happen and even using Sysinternals' PROCMON on it doesn't throw any light in that each option seems to end up performing a Load Image for the same program name, and with similar looking command lines on the Process Start, but in one case the program reads the INI and in the other it reads itself (ie. the EXE). I've tried this with fully-qualified names, just the .exe and without .exe and all behave the same way, and it seems to make no difference whether or not the program directory is the current location and/or whether or not it is passed in using the /D switch (in the START case). It also matters not whether the commands are issued from a normal command prompt or an elevated one (in the former case a UAC elevation dialog occurs but the end result is identical either way). The reason I'm bothered by this is that I want to invoke the program from a batch file running in an elevated command prompt and I cannot get it to behave the way I need it to.