我一直在互联网上寻找这个,但我找不到它。
有没有办法通过 C# 触发卸载程序(从程序和功能屏幕)?还是出于安全目的,这被 Windows 阻止了?
您可以使用msiexec.exe。您可以简单地使用其卸载应用程序product code
。使用命令,您可以设置是否在卸载过程中显示 UI 或使其成为静默卸载,
string UninstallCommandString = "/x {0} /qn";
C# code
string UninstallCommandString = "/x {0} /qn";
Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
process.StartInfo = startInfo;
startInfo.UseShellExecute = false;
startInfo.RedirectStandardError = true;
startInfo.FileName = "msiexec.exe";
startInfo.Arguments = string.Format(UninstallCommandString, "Product Code");
process.Start();
您可以使用 system.diagnostics 为卸载程序调用可执行文件。
像下面这样的东西应该可以解决问题:
System.Diagnostics.Process.Start("/path/to/uninstall.exe", "arguments for uninstaller if needed, else don't bother with this arg");
它又快又脏,/应该/工作。希望有帮助。
编辑 - 刚刚意识到您想从添加删除软件屏幕执行此操作。无论如何我都会把它留在这里,但我的错误。