Здравствуйте, MaLS, Вы писали:
MLS>В рамках одного экземпляра Windows запускать только одни процесс exe файла.
MLS>Претензии есть. И они пользователей достали. Нет гарантии что программа буде вести себя предсказуемо.
MLS>Нужно гарантировать стабильную работу.
MLS>Приложение делает много всего, и считает и в базу без транзакций кладёт. Основная задача чтобы один пользователь не запустил процесс дважды, и второй по RDP не запустил в параллели.
а в чем проблема переделать с тем же mutex-ом, или semaphor-ом?

Process.GetProcessesByName() это же не синхронизирующая функция, при определенных таймингах все может работать, но гарантии что процесс дважды не запуститься при этом нет