Если вы запускаете 32-битный exe-файл из приложения .NET (C #), то вам нужно установить цель для вашего .NET-приложения на x86. Если для него установлено значение «Любой ЦП», то он будет работать как 64-разрядный процесс в 64-разрядной ОС и, следовательно, не сможет запустить 32-разрядный процесс.
Редактировать: В этой статье MSDN объясняется, как изменить этот параметр:
http://msdn.microsoft.com/en-us/library/5b4eyb0k.aspx
Редактировать 2: Как указывает Гейб, не должно быть причины, по которой 64-битное приложение не может запустить 32-битный exe. Я знаю, что вы не можете использовать 32-битную DLL из 64-битного приложения. Просто подумал, что стоило бы попробовать, поскольку в документации не указано, существует ли такое же ограничение при использовании System.Diagnostics.Process
для запуска exe.