У меня есть задача разработать агент обновления, который запускает файл msi после его загрузки, установка должна быть невидимой для пользователя.Запуск установщика MSI в бесшумном режиме из кода
Но у меня есть проблема с запуском без интерфейса. Я пробовал использовать /q
и /qn
, но он не работает, он работает только с настройками интерфейса.
internal static class MSI_runner
{
public static bool RunInstallMSI(string sMSIPath)
{
try
{
Console.WriteLine("begin");
//Starting to install application
Process process = new Process();
process.StartInfo.FileName = "msiexec.exe";
process.StartInfo.Arguments = string.Format(" /q /i \"{0}\" REINSTALLMODE=amus ", sMSIPath);
Console.WriteLine("start");
process.Start();
process.WaitForExit();
Console.WriteLine("end");
return true;
}
catch
{
// "There was a problem installing the application!
return false; //Return False if process ended unsuccessfully
}
}
}
он не поймает, что это не исключение –
он не поймает, что это не исключение –
вы проверили из cmd, а затем команду, которую нужно запустить, возможно: msiexec не находится в пути или некоторые параметры не являются хорошо, или речь идет о пользовательских настройках. –