Ключ должен установить для свойства Process.StartInfo.UseShellExecute
значение false
до начала процесса, например ::
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = @"c:\tmp\test.bin";
p.StartInfo.UseShellExecute = false;
p.Start();
Это запустит процесс напрямую: вместо прохождения логики оболочки «давайте попробуем выяснить исполняемый файл для указанного расширения файла» файл будет считаться самим исполняемым.
Другой синтаксис для достижения того же результата может быть:
var processStartInfo = new ProcessStartInfo
{
FileName = @"c:\tmp\test.bin",
UseShellExecute = false
};
Process.Start(processStartInfo);