Я планирую удалить файлы .exe из панели управления с помощью С#.
Я могу удалить файлы .msi, но столкнулся с проблемой при попытке удалить файлы .exe.
Может ли кто-нибудь предложить, есть ли другой способ удалить файлы .exe.
заранее спасибо
Я планирую удалить файлы .exe из панели управления с помощью С#.
Я могу удалить файлы .msi, но столкнулся с проблемой при попытке удалить файлы .exe.
Может ли кто-нибудь предложить, есть ли другой способ удалить файлы .exe.
заранее спасибо
Прежде всего, вы, вероятно, не имеете в виду «удалить» файл .exe, просто удалив его с жесткого диска с помощью вызова System.IO.File.Delete()
. Вы можете вызвать соответствующую программу удаления для каждой программы, установленной на компьютере, и в этом случае вы найдете соответствующие каталоги и пути в реестре, как указано в этом ответе.
Вы можете использовать msiexec.exe для управления файлами .msi и .exe.
Во-первых, мы собираемся использовать System.Diagnostics, поэтому вам придется добавить это.
using System.Diagnostics;
Код для установки программного обеспечения без пользовательского интерфейса:
private void installSoftware()
{
Process p = new Process();
p.StartInfo.FileName = "msiexec.exe";
p.StartInfo.Arguments = "/i \"C:\\Application.msi\"/qn";
p.Start();
}
Код для удаления программного обеспечения без пользовательского интерфейса:
private void uninstallSoftware()
{
Process p = new Process();
p.StartInfo.FileName = "msiexec.exe";
p.StartInfo.Arguments = "/x \"C:\\Application.msi\"/qn";
p.Start();
}
Код для восстановления программного обеспечения без пользовательского интерфейса:
private void repairSoftware()
{
Process p = new Process();
p.StartInfo.FileName = "msiexec.exe";
p.StartInfo.Arguments = "/f \"C:\\Application.msi\"/qn";
p.Start();
}
Ресурс: http://www.codeproject.com/Articles/20059/C-Installing-and-uninstalling-software
Чтобы использовать его с файлом .exe, просто измените путь к файлу .msi на код продукта вашего приложения.
private void uninstallSoftware()
{
Process p = new Process();
p.StartInfo.FileName = "msiexec.exe";
p.StartInfo.Arguments = "/x "ProductCode" /qn";
p.Start();
}
Чтобы узнать больше о том, как получить код продукта приложения, вы можете увидеть этот ответ: Как найти код обновления и productCode установленного приложения в Win 7