首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >msiexec /qn开关防止卸载

msiexec /qn开关防止卸载
EN

Stack Overflow用户
提问于 2015-05-14 16:01:40
回答 1查看 935关注 0票数 1

我试图使用以下调用通过C#卸载应用程序:

代码语言:javascript
复制
msiexec.exe /x {my-product-code} /qn

如果没有/qn开关,就会出现一个对话框,询问您是否要卸载。/qn开关会取消这个对话框,但它似乎也会导致对话框结果的隐式"No“,因为应用程序不卸载。如果我关闭了/qn开关,我将得到预期的对话框,如果我选择“是”,应用程序就会卸载。

如何使用/qn开关而不导致对确认的隐式“否”?

EN

回答 1

Stack Overflow用户

发布于 2015-05-14 19:24:37

正如PhilDW在上面的评论中所指出的,问题是需要提升特权。即使我是管理员,使用/qn开关也会取消确认对话框(正如预期的那样),确认对话框被用作卸载可以使用的管理确认。解决办法如下:

代码语言:javascript
复制
Process process = new Process();
process.StartInfo.FileName = "msiexec.exe";
process.StartInfo.Arguments = string.Format("/x {0} /qn /l*v uninstall.log", productCode);
process.StartInfo.UseShellExecute = true; // added to elevate privileges
process.StartInfo.Verb = "runas"; // added to elevate privileges
process.Start();
process.WaitForExit();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30241900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档