【发布时间】:2011-11-23 02:41:57
【问题描述】:
是否有一种简单的方法可以知道 msi 何时运行? (在静音或非静音模式下。)也许使用和 MSI API?从某处读取?...
我需要这个以避免启动用 C++ 编码的程序。
感谢您的帮助。
【问题讨论】:
-
是你的程序吗?您升级的是您的程序吗?
是否有一种简单的方法可以知道 msi 何时运行? (在静音或非静音模式下。)也许使用和 MSI API?从某处读取?...
我需要这个以避免启动用 C++ 编码的程序。
感谢您的帮助。
【问题讨论】:
没有任何 API 可用于检测正在运行的安装程序。此外,MSI 安装有两个序列:
InstallUISequence 使用在当前用户帐户下运行的进程。 InstallExecuteSequence 使用 Windows Installer 服务的子进程。
因此,检测正在运行的安装并不容易。我能想到的唯一解决方案是枚举所有打开的窗口并尝试按名称查找安装对话框。
【讨论】: