如何使用c#unistall .exe文件

时间:2015-10-12 14:10:44

标签: c# .net c#-4.0 exe

我打算使用c#从控制面板卸载.exe文件。

我可以删除.msi文件,但在尝试删除.exe文件时遇到问题。

任何人都可以建议是否有任何不同的方法来删除.exe文件。

提前致谢

2 个答案:

答案 0 :(得分:1)

首先,您可能并不是要“删除”.exe文件,只需通过System.IO.File.Delete()调用将其从硬盘驱动器中删除即可。您可能希望为计算机上安装的每个程序调用适当的卸载程序,在这种情况下,您将按照指示in this answer在注册表中找到适当的目录和路径。

答案 1 :(得分:0)

您可以使用msiexec.exe来管理.msi和.exe文件

Firstable,我们将使用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(); 
}

要详细了解如何获取应用程序的产品代码,您可以看到以下答案:How to find the upgrade code & productCode of an installed application in Win 7