У меня есть следующий код C #:
string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
Process.Start("cmd.exe", "/c" + desktopPath + "\\" + "MyInstaller_7.1.51.14.exe –s –v –qn");
Первая строка содержит путь к моему рабочему столу, на котором находится .exe. Строка desktopPath
используется во второй строке.
Вторая строка предполагается запускает установщик в автоматическом режиме, так что процесс выполняется в фоновом режиме, а мастер установки НЕ появляется вообще. Запуск строкового результата desktopPath + "\\" + "MyInstaller_7.1.51.14.exe –s –v –qn"
в командной строке работает нормально, а установщик работает в автоматическом режиме. Если кому-то интересно, строковый результат
desktopPath + "\\" + "MyInstaller_7.1.51.14.exe –s –v –qn"
is
C:\Users\ME\Desktop\MyInstaller_7.1.51.14.exe -s -v -qn
и запуск этого в командной строке запускает установку в автоматическом режиме.
К сожалению, запуск той же команды в коде C #, как это:
Process.Start("cmd.exe", "/c" + desktopPath + "\\" + "MyInstaller_7.1.51.14.exe –s –v –qn");
не запускает установщик в автоматическом режиме. Вместо этого появляется мастер, видимый пользователю.
Кто-нибудь знает, как я могу это изменить:
string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
Process.Start("cmd.exe", "/c" + desktopPath + "\\" + "MyInstaller_7.1.51.14.exe –s –v –qn");
так что установщик действительно работает в тихом режиме, без отображения пользовательского интерфейса установщика ??
БОКОВОЕ ПРИМЕЧАНИЕ: –s –v –qn - переключатели для работы в тихом режиме.
"/c \"" + desktopPath + "\\" + "MyInstaller_7.1.51.14.exe –s –v –qn\""
, так что вы должны получить строку/c "C:\Users\ME\Desktop\MyInstaller_7.1.51.14.exe -s -v -qn"
в конце. - person Scott Chamberlain   schedule 18.12.2013