У меня были подобные проблемы, когда я попытался запустить двоичный файл PhantomJS с помощью «runas» -verb в службе Windows. Теперь я решил проблему, выполнив следующую процедуру:
Вы можете использовать Impersonator-Class для олицетворения. Также важно установить следующие свойства в ProcessStartInfo, поэтому приложение не пытается получить доступ к пользовательскому интерфейсу Windows:
var processStartInfo = new ProcessStartInfo()
{
FileName = $@"{assemblyFolder}\PhantomJS\phantomjs.exe",
Arguments = $"--webdriver={port}",
RedirectStandardOutput = true,
RedirectStandardError = true,
RedirectStandardInput = true,
UseShellExecute = false,
CreateNoWindow = true,
ErrorDialog = false,
WindowStyle = ProcessWindowStyle.Hidden
};
В Windows 10 делают следующие шаги: - загружают и устанавливают 'Все' приложение, которое определяет местоположение файлов и папок по имени немедленно. - Находят 'devenv.exe' и определяют местоположение его.