Process.Start () приводит к исключению «Отказано в доступе», несмотря на группу «Полный доступ для всех» - PullRequest
0 голосов
/ 10 января 2020

Вывод моего проекта содержит исполняемый файл key_gen.exe, который я пытаюсь запустить. Исполняемый файл не создается проектом, а копируется по факту. С кодом ниже я получаю исключение Access Denied.

string key_gen_dir = Environment.CurrentDirectory.Substring(0, Environment.CurrentDirectory.LastIndexOf("\\")) + @"\Scripts\key_gen\";

Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = key_gen_dir + "key_gen.exe";
startInfo.Arguments = String.Format(". {0}", password);
process.StartInfo = startInfo;
process.Start();

Значение FileName является правильным и работает при тестировании в командной строке. Я не хочу запускать программу от имени администратора. Я попытался включить UseShellExecute, но получаю исключение PlatformNotSupportedException. Key_gen_dir и все вложенные файлы и папки имеют разрешения FullControl для группы «Все». Если это актуально, мой проект нацелен на. NET Стандарт 2.0.

1 Ответ

0 голосов
/ 15 января 2020

Мне удалось устранить ошибку отказа в доступе, отредактировав свойства файла в Windows и добавив группу ALL APPLICATION PACKAGES в права доступа к файлу с разрешением «Чтение и выполнение».

...