c # запустить приложение .bat file как администратор не запускается - PullRequest
0 голосов
/ 08 октября 2018

Мне нужно запустить файл .bat из c # ... Я использую этот метод.

 file = "C:\\Diego\\PublishCore\\Startup_service.bat";
                ProcessStartInfo psi = new ProcessStartInfo();
                psi.CreateNoWindow = true; 
                psi.FileName = file;
                psi.UseShellExecute = true;
                psi.Verb = "runas";
                Process.Start(psi);

.BAT выполняется ... но действие, которое я прошу выполнить, не выполняется ...

Если мой .bat говорит MKDir MyDir... Создает каталог с именем MyDIr без проблем.

Но когда моя летучая мышь говорит dotnet myApp.dll, Windows cmd открывается и закрывается, но не запускает приложение myApp ....

Если дважды щелкнуть мышью, мой .bat работает нормально.

Чего мне не хватает?Почему приложение не запускается?

1 Ответ

0 голосов
/ 09 октября 2018

Я решил это ...

Проблема заключалась в том, что, когда моя летучая мышь запустила инструкцию dotnet myApp.dll.Я установил путь к файлу, где он находился, но он был выполнен в том месте, где находится мое решение, вместо того, чтобы работать в том же каталоге, где у меня есть файл .bat.

Мне нужно установить WorkingDirectoryи Arguments

 C:\\Diego\\PublishCore\\Startup_InomCore.bat
 
 ProcessStartInfo psi = new ProcessStartInfo();
                psi.WorkingDirectory = "C:\\Diego\\PublishCore";
                //   psi.CreateNoWindow = true; 
                psi.FileName = @"cmd.exe";
                psi.Arguments = "/c start /wait " + "C:\\Diego\\PublishCore\\Startup_InomCore.bat";
                //     psi.UseShellExecute = true;
                psi.Verb = "runas"; 
                var process = Process.Start(psi);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...