Выполнить удаление с помощью C#
Я искал это в интернете, но не смог найти.
Есть ли способ запустить деинсталлятор (с экрана программы и компоненты) через C#? Или это заблокировано Windows в целях безопасности?
3 ответа:
Вы можете использовать msiexec.exe . Вы можете просто удалить приложение с его
product code
. С помощью команды вы можете установить, показывать ли пользовательский интерфейс во время удаления или сделать его беззвучным,
string UninstallCommandString = "/x {0} /qn";
- /qn : установить уровень пользовательского интерфейса: нет
- /дь: набор пользовательского интерфейса уровень: Базовый пользовательский интерфейс
- / qr : установить уровень пользовательского интерфейса: уменьшенный UI
- / qf : установить уровень пользовательского интерфейса: полный пользовательский интерфейс (по умолчанию)
C# code
string UninstallCommandString = "/x {0} /qn"; Process process = new Process(); ProcessStartInfo startInfo = new ProcessStartInfo(); process.StartInfo = startInfo; startInfo.UseShellExecute = false; startInfo.RedirectStandardError = true; startInfo.FileName = "msiexec.exe"; startInfo.Arguments = string.Format(UninstallCommandString, "Product Code"); process.Start();
Вы можете вызвать исполняемый файл для деинсталлятора с помощью system.диагностика.
Что-то вроде следующего должно сделать трюк:
System.Diagnostics.Process.Start("/path/to/uninstall.exe", "arguments for uninstaller if needed, else don't bother with this arg");
Это быстро и грязно и /должно / работать. Надеюсь, это поможет.
Edit-только что понял, что вы хотите сделать это с экрана add remove software. Я все равно оставлю это здесь, но это моя ошибка.