我使用 C# 中的 ManagementObject 编写了一个程序来自动卸载许多程序。它工作正常,除了一些程序会自动重新启动计算机,这违背了我的程序的目的。有什么办法可以让它等到一切都完成卸载重新启动?
这是实际卸载程序的方法:
static void UninstallProduct(string path)
{
ManagementObject product = new ManagementObject(path);
if ((product != null) && (product.Path.ClassName == "Win32_Product"))
{
Console.WriteLine(
"Uninstalling: "
+ product.GetPropertyValue("Name")
+ "...");
object result = product.InvokeMethod("Uninstall", null);
Console.WriteLine(
"The Uninstall method result is {0}",
result.ToString());
}
}