gpt4 book ai didi

c# - MsiExec 进度捕捉

转载 作者:行者123 更新时间:2023-12-04 00:45:38 39 4
gpt4 key购买 nike

我正在编写一个小应用程序来安装一些产品并在静默模式下卸载其他一些产品。
每个产品都有其 MSI 文件,除此之外别无其他,我的应用程序 list 声明它应该以管理员权限运行。
使用适当的参数运行 msiexec 来完成我的任务非常容易(只是一堆代码)并且一切正常。
无论如何,一些软件包需要很长时间才能完成,并且在一些老电脑用户上询问是否某些事情仍在后台进行或挂起。
那么是否可以“捕捉”msiexec 进度,例如更新我的应用程序上的进度条?听起来很疯狂,但我很确定某些专业安装程序会以这种方式运行外部 msi 包。
那么,有可能吗?有什么我们可以用 C# 做的事情吗?或者这是一项非常艰巨的任务,需要很多我不具备的知识?

请注意:我知道我可以使用 "/qb" 参数,但某些包的行为方式不正确,我不想使用它。

最佳答案

如果您想监控进度,您可能必须直接使用 Windows Installer API,

http://www.codeproject.com/Articles/5773/Wrapping-the-Windows-Installer-2-0-API

这篇 CodeProject 文章展示了一个示例,而微软在 MSDN 上几乎没有关于这些函数的信息,

http://msdn.microsoft.com/en-us/library/windows/desktop/aa370384(v=vs.85).aspx

http://msdn.microsoft.com/en-us/library/windows/desktop/aa368786(v=vs.85).aspx

关于c# - MsiExec 进度捕捉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10811323/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com