卸载后程序仍在控制面板中列出

时间:2015-03-05 18:16:30

标签: c# windows-installer uninstall wmic controlpanel

我正在尝试使用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");
    }
}

1 个答案:

答案 0 :(得分:-1)

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