Если вы можете P / Invoke, вы можете найти исполняемый файл с помощью PathFindOnPath . Быстрый Google не показывает эквивалент C #.
без P / Invoke, Environment.GetEnvironmentVariable("Path").Split(";")
должен дать вам список путей для исследования.
Однако это не полное разрешение, используемое ShellExecute или даже консолью.