Итак, я успешно смог запустить приложение командной строки с различными аргументами из моего проекта, используя следующий код:
String f = fileName;
Process process = new System.Diagnostics.Process();
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.FileName = "C:\\projects\\something\\MediaInfo.exe";
process.StartInfo.Arguments = " \"--Inform=Video;%Duration%|%Width%|%Height%;\" \"" + f + "\"";
process.Start();
StreamReader output = process.StandardOutput;
process.WaitForExit();
MessageBox.Show(output.ReadToEnd());
Теперь вместо абсолютного пути, который я указал для MediaInfo.exe, я бы хотел указать относительный путь, чтобы при отправке моего приложения кому-то не приходилось разбираться с размещением его в правильном место.
В Visual Studio я выбираю свой проект и нажимаю добавить существующий. Я добавил свои файлы. Затем выбрал «Всегда копировать». Я пробовал разные предметы для "Build Action". У меня ощущение, что «Нет» - это правильный вариант.
В любом случае, моя цель - иметь process.StartInfo.FileName
относительный путь. Я не знаю, как сделать это правильно. Есть идеи?