如何检测正在运行的MSI安装

我正在寻找一种方法来检测Windows Installer安装是否已在进行中。 到目前为止我发现的是:

  • 检查注册表项:
    HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的Windows \ CurrentVersion \安装\ INPROGRESS
  • 使用带有虚拟文件的Windows Installer API函数MSIInstallProduct ,然后返回特定的错误代码。

有人知道更聪明的解决方案吗?