Приложение Process.Start и WatchDog .net

у меня есть некоторые проблемы с моим приложением. Это приложение winForm, которое имеет этот код:

var processInfo = new ProcessStartInfo("myfile.bat")
                                  {CreateNoWindow = true, UseShellExecute = false};
            processInfo.Verb = "runas";
            var process1 = Process.Start(processInfo);
            process1.WaitForExit();
            process1.Close();

Теперь вызовите ошибку в сторонней dll. Мне нужен сторожевой таймер для перезапуска программы при ее сбое.

Теперь, если я запускаю программу вручную, у меня нет проблем, но когда сторожевой таймер запускает мою программу, он не запускает myfile.bat.

Это происходит на Win7 и WinXp. Я пытался отключить UAC в Win7, но ничего.

Я также использовал скрытую учетную запись администратора в xp и win7, но ничего. Как я могу решить эту проблему?


person user1107078    schedule 29.03.2012    source источник
comment
Можете ли вы объяснить, что это за «сторожевой пес»?   -  person Steve    schedule 30.03.2012
comment
Программа, которая проверяет, запущено ли ваше приложение или оно аварийно завершено, в этом случае программа пытается снова запустить приложение.   -  person user1107078    schedule 30.03.2012


Ответы (1)


Как использовать ProcessStartInfo для запуска пакетного файла? предлагает использовать UseShellExecute = true, иначе запускать cmd.exe с пакетным файлом в качестве параметра.

person Craig A    schedule 29.03.2012
comment
уже сделано. Но это не проблема летучих мышей. Я думаю, что это правильная проблема с Windows. Я имею в виду, что программа запускается из другой программы вместо меня. - person user1107078; 30.03.2012