You don't need "CMD" to start your application. "CMD" is another application, nothing more, it does not add anything to your functionality. Simply use a static method
System.Diagnostics.Process.Start
:
http://msdn.microsoft.com/en-us/library/h6ak8zt5.aspx[
^].
In your case:
System.Diagnostics.Process.Start("C:\\UTDSys\\UTD2TCM.exe", string.Format("-r {0}", Parameters.Candidate);
Now, please understand that there is no cases where the hard-coded path names like "C:\UTDSys\UTD2TCM.exe" can be useful, unless you want to develop an application which can work only on your development computer. This file may not be placed in this directory, the directory might not exist, and even the presence of the volume "C:" is not a must (on one of my computers, there is no such drive). The file name is always calculated based on user input, some configuration files, assembly location, "special directories" (related to users' accounts, those per user or for all users), etc.
—SA