自定义msiexec进度栏? [英] Customize msiexec progress bar?

查看:100
本文介绍了自定义msiexec进度栏?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的应用程序调用msiexec运行卸载。

  logger-> LogDebug( Actions:MsiUninstallExec()!) ; 
System :: Diagnostics :: Process ^ p = gcnew System :: Diagnostics :: Process();
p-> StartInfo-> FileName = msiexec;
p-> StartInfo-> Arguments = / x + AppSetting :: ProductCode;
p-> Start();
///->>>卸载
///-->>选择是否重新启动。
///->>>应用程序退出

卸载完成后,用户必须选择重新启动还是不完成此过程。
但是我的客户要求: msiexec的进度条必须移到最后一个(右端)。
如何编辑?您对我有任何想法吗?



解决方案

建议 :您可以尝试执行以下操作(查找产品GUID ):

  msiexec.exe / X {PRODUCT-GUID} / QN REBOOT = ReallySuppress / L * V C:\Temp\msilog.log 

快速命令行解释

  / X {PRODUCT-GUID} =运行指定产品的卸载顺序
/ QN =完全安静地运行
/ REBOOT = ReallySuppress =禁止重新启动提示
/ L * V C:\Temp\msilog.log =在指定路径



< hr>

替代品 :有多种方法可以调用MSI卸载:在不使用msiexec的情况下从命令行卸载MSI文件。您可以通过以下方式进行卸载: msiexec ARP WMI PowerShell ,部署系统,例如 SCCM VBScript / COM Automation, DTF ,或通过 隐藏的Windows缓存文件夹 ,以及其他一些选项。 / p>




msiexec.exe msiexec.exe 命令行。原来的一个和后来的一个添加了全字开关,例如 / quiet / noreboot 和喜欢。原始命令行使用 / qn 作为静音模式的开关。以下是这两种形式的链接: MSIEXEC是什么qn和安静之间的区别






某些链接




My application call msiexec to run uninstall.

   logger->LogDebug("Actions: MsiUninstallExec()!");
    System::Diagnostics::Process ^p = gcnew System::Diagnostics::Process();
    p->StartInfo->FileName = "msiexec";
    p->StartInfo->Arguments = "/x " + AppSetting::ProductCode;
    p->Start();
/// -->>> Uninstall
/// -->> Choose restart or not.
/// -->>> Application Exit

When uninstallation is done, users have to choose restart or not to complete this process. But my customer request : "The progress bar of msiexec must move to the last (right end)." How to edit it ? Do you have any idea for me?

解决方案

Suggestion: You can try something like this (find product GUID):

msiexec.exe /X {PRODUCT-GUID} /QN REBOOT=ReallySuppress /L*V "C:\Temp\msilog.log" 

Quick command line explanation:

 /X {PRODUCT-GUID}          = run uninstall sequence for specified product 
 /QN                        = run completely silently
 /REBOOT=ReallySuppress     = suppress reboot prompts
 /L*V "C:\Temp\msilog.log"  = verbose logging at specified path


Alternatives: There are many ways to invoke MSI uninstall: Uninstalling an MSI file from the command line without using msiexec. You can uninstall via: msiexec, ARP, WMI, PowerShell, deployment Systems such as SCCM, VBScript / COM Automation, DTF, or via hidden Windows cache folders, and a few other options.


msiexec.exe: There are two flavors of the msiexec.exe command line. An original one and a later one that added the "full word" switches such as /quiet and /noreboot and the likes. The original command line used /qn as the switch for silent mode. Here are links to both flavors: MSIEXEC what is the difference between qn and quiet.


Some Links:

这篇关于自定义msiexec进度栏?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆