Как и в названии, я пытаюсь установить .exe без звука (скажем, inkscape) через мое приложение, написанное в WPF C#. Проблема в том, что процесс установки, который я использую, всегда возвращает исключение и терпит неудачу.Как отключить установку внешнего NSIS exe в WPF C#
Вот код, который я использую:
public static bool StartInstall(string pathtofile)
{
try
{
Process process = new Process();
process.StartInfo.FileName = "Temp.exe";
process.StartInfo.Arguments = string.Format(" /S", pathtofile);
process.Start();
process.WaitForExit();
Console.WriteLine("Silent Install was successful.");
return true;
}
catch
{
MessageBox.Show("Error!");
return false;
}
}
Согласно this сайте, переключатель для автоматической установки для NSIS упаковывают EXEs является/S. Я не уверен, что я делаю что-то неправильно в синтаксисе.
Код, который я использую, состоит из this stackoverflow post. Он работает для пакета .msi. Может быть, это не работает для NSIS exes?
Я относительно не знаю, почему это не работает. Приведенный выше код выйдет из строя в строке «process.Start()», скорее всего, из-за неизвестной команды или чего-то еще.
Буду признателен, если кто-нибудь может немного рассказать о том, как запустить этот процесс для установщика NSIS.
Некоторым установщикам требуются права администратора, возможно, вы должны запустить установщик с помощью 'UseShellExecute = true' и' Verb = "runas" '. Проверьте [this] (http://stackoverflow.com/questions/133379/elevating-process-privilege-programatically) поток. – csharpfolk
Вы действительно были правы для части привилегий администратора! благодаря – zaedas99