Memory leaks 为什么SCCM会导致MSI手柄泄漏?

Memory leaks 为什么SCCM会导致MSI手柄泄漏?,memory-leaks,windows-installer,installshield,windows-server-2012-r2,sccm,Memory Leaks,Windows Installer,Installshield,Windows Server 2012 R2,Sccm,因此,我有几个MSI软件包,我们使用这些软件包通过内部应用程序部署到生产环境中。但最近我们开始转向SCCM。这是问题开始时,大多数MSI往往有手柄泄漏。我的观察如下- 尝试手动安装MSI-效果良好 厌倦了在详细日志记录中使用MSIEXEC-工作正常 通过SCCM安装的同一个MSI出现故障,泄漏错误处理不当。所有这些泄漏往往发生在*.rul文件中的自定义操作中 请注意,这不是特定于特定MSI或特定服务器的,在多个MSI包和多个服务器中观察到类似的行为 任何帮助都将不胜感激。通常通过SCCM在L

因此,我有几个MSI软件包,我们使用这些软件包通过内部应用程序部署到生产环境中。但最近我们开始转向SCCM。这是问题开始时,大多数MSI往往有手柄泄漏。我的观察如下-

  • 尝试手动安装MSI-效果良好
  • 厌倦了在详细日志记录中使用MSIEXEC-工作正常
  • 通过SCCM安装的同一个MSI出现故障,泄漏错误处理不当。所有这些泄漏往往发生在*.rul文件中的自定义操作中
请注意,这不是特定于特定MSI或特定服务器的,在多个MSI包和多个服务器中观察到类似的行为


任何帮助都将不胜感激。

通常通过SCCM在LocalSystem帐户下运行部署,这可能导致自定义操作的行为如下所示

您可以在本地计算机上运行带有的包,并模拟类似的执行,以了解情况是否如此


您是对自定义操作进行编码还是由InstallShield提供?日志中是否有任何迹象表明自定义操作已崩溃(泄漏的常见原因)?您是向用户发布还是向计算机发布(因为每个用户安装和每个系统安装是非常不同的)?可能会发布显示问题的实际日志摘要。自定义操作由我们编写,在SCCM之外运行良好。由于我公司的政策,我不能发布日志,但我可以肯定地回答你的问题。即使是冗长的日志也没说什么。一旦点击自定义操作,它就会泄漏MSI句柄。应用程序被发布到机器上。谢谢你的帮助,你是对的。我能够复制它。但我仍然在想,这个问题的解决办法是什么?有什么建议吗?我在回答中添加了一个链接,也许这会有所帮助。很难说是什么问题。你需要附加和调试你的代码。谢谢你的链接,但我已经浏览了所有这些,只有在我找不到任何东西的时候才在这里发布我的问题。