4

我正在尝试使用 C# 应用程序卸载程序,除了该程序仍列在“控制面板程序和功能”中之外,一切正常。

当我使用 wmic 从命令行卸载时,它也会这样做。

该程序已卸载,但我仍然必须实际单击控制面板程序和功能中的名称才能弹出一个窗口并告诉我它已卸载。在那之后,它就永远消失了。我怎样才能绕过必须进入控制面板才能完全删除它。我需要将其卸载并且不在控制面板中列出。

这是我要卸载的代码,似乎是正确的:

string programName = "myProgram";
ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT * FROM Win32_Product");

foreach (ManagementObject mo in mos)
{
    if (mo["name"].ToString().Contains(programName))
    {
        mo.InvokeMethod("Uninstall", null);
        MessageBox.Show(mo["name"].ToString() + " uninstalled");
    }
}
4

1 回答 1

-1

检查卸载日志,如果卸载成功,即使在刷新后,即 F5,该条目仍然存在于控制面板中,对于要卸载的产品,请删除注册表条目 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall \

于 2016-08-23T14:20:54.527 回答