Windows installer MSI-如何知道特定MSI何时运行

Windows installer MSI-如何知道特定MSI何时运行,windows-installer,upgrade,Windows Installer,Upgrade,有没有一种简单的方法可以知道msi何时运行?(在静默或无静默模式下)可能使用和MSI API?在什么地方读书 我需要这个,以避免启动一个用C++编码的程序。 感谢您的帮助。没有用于检测正在运行的安装程序的API。此外,MSI安装有两个顺序: 安装界面-> 实际安装过程-> InstallUISequence使用在当前用户帐户下运行的进程。 InstallExecuteSequence使用的进程是Windows Installer服务的子进程 因此,检测正在运行的安装并非易事。我能想到的唯一解

有没有一种简单的方法可以知道msi何时运行?(在静默或无静默模式下)可能使用和MSI API?在什么地方读书

<>我需要这个,以避免启动一个用C++编码的程序。
感谢您的帮助。

没有用于检测正在运行的安装程序的API。此外,MSI安装有两个顺序:

  • 安装界面->
  • 实际安装过程->
InstallUISequence使用在当前用户帐户下运行的进程。 InstallExecuteSequence使用的进程是Windows Installer服务的子进程


因此,检测正在运行的安装并非易事。我能想到的唯一解决方案是枚举所有打开的窗口,并尝试按名称查找安装对话框。

谢谢您的回答,Cosmin。我无法忍受安装程序如何处理这种情况。例如,在我的情况下,我必须进行升级,因此,在升级过程中,我有可能运行主应用程序(当然正在更新)…@Santiago是安装程序在升级过程中启动您的应用程序吗?我看到这里没有问题:当升级完成后,您可以启动安装的应用程序。@ Alxyyvavov,我使用策略(取而代之),这里的关键是我正在升级我的产品,在这个过程的中间,我将双击我的应用程序并打开。(我只是在想,如果正在升级可执行文件,可能会出现问题。)谢谢!这是一种不太可能的情况。更简单的方法是在安装开始时关闭应用程序。是您的程序吗?您升级的是您的程序吗?