我正在尝试使用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");
}
}
答案 0 :(得分:-1)
检查日志是否已卸载,如果成功,甚至在刷新后,即F5,该条目仍然存在于控制面板中,对于要卸载的产品,删除注册表项HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CURRENTVERSION \卸载\