У меня есть этот код С#:
string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
ProcessStartInfo psi = new ProcessStartInfo();
psi.Arguments = "–s –v –qn";
psi.CreateNoWindow = true;
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.FileName = desktopPath + "\\" + "MyInstaller_7.1.51.14.exe";
Process.Start(psi);
Первая строка просто захватывает путь к моему рабочему столу, а остальные пытаются запустить исполняемый файл установщика в автоматическом режиме. Под тихим режимом я подразумеваю работу в фоновом режиме, без мастера установки или какого-либо пользовательского интерфейса во время установки. Аргументы –s –v –qn
нужны для того, чтобы установка выполнялась в автоматическом режиме.
Проблема в том, что когда я запускаю команду, эквивалентную приведенной выше, в командной строке, а именно:
C:\Users\ME\Desktop>MyInstaller_7.1.51.14.exe -s -v -qn
Установщик работает как надо, в тихом режиме.
К сожалению, проблема в том, что попытка сделать то же самое на C# с приведенным выше кодом НЕ приводит к запуску установщика в автоматическом режиме. Мастер установки ПОЯВЛЯЕТСЯ, что является ПЛОХИМ по назначению.
Я думаю, может быть, мне нужно запустить это как службу через С# или под идентификатором 0 пользователей. Или с ключом -i. Я не совсем уверен. Кто-нибудь может помочь??
Просто для пояснения, мой вопрос: как мне написать код C # для запуска моего файла installer.exe в автоматическом режиме, в фоновом режиме, без видимого пользовательского интерфейса?
Пожалуйста помоги.
C:\Users\...\Temp\MyInstaller_7.1.51.14.exe -s -v -qn
и запустить его? - person T.S.   schedule 18.12.2013