我正在尝试使用 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");
}
}
最佳答案
检查卸载日志,如果卸载成功,即使在刷新后,即 F5,该条目仍然存在于控制面板中,对于要卸载的产品,删除注册表条目 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\当前版本\卸载\
关于c# - 卸载后程序仍列在控制面板中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28884866/