wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了windows – 在安装之前检测MSI是否需要重新启动大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

如果我在安静模式下启动带有MSIExec的安装程序,我可以通过检查退出代码是否为3010来检测是否需要重新启动才能完成安装.但是我希望能够以可编程形式执行的操作是测试是否在启动实际安装程序之前,安装MSI需要重新启动才能完成. 我查看了MSI API: http://msdn.microsoft.com/en-us/library/windows/desktop/aa369426(v=vs.85)
如果我在安静模式下启动带有MSIExec的安装程序,我可以通过检查退出代码是否为3010来检测是否需要重新启动才能完成安装.但是我希望能够以可编程形式执行的操作是测试是否在启动实际安装程序之前,安装MSI需要重新启动才能完成.

我查看了MSI API:

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

我确实认为我可以:

>@L_299_4@msiOpenPackage以使安装程序准备好运行
>使用以下命令@L_299_4@msiDoAction:CosTinitialize,FileCost,CostFinalize,InstallValidate
>从FilesInUse表中读取记录(MSDN上的以下文档建议在运行CostFinalize / InstallValidate后创建此表:

http://msdn.microsoft.com/en-us/library/aa369546(VS.85).aspx

但是,当我在@R_402_9382@查询它时,该表实际上并不存在.有没有其他方法可以检查是否需要重新启动?

解决方法

决定最终只在@R_402_9382@做出.如您所知,它取决于同时运行的应用程序锁定的DLL等情况,因此它非常不稳定.

实际安装完成后,无法保证您不会收到退出代码3010.

也就是说,退出代码与使用中的文件并不紧密相关.它还可能表示无法停止服务或可能是某些其他暂时或永久性情况.在尝试之前,您无法了解是否可以停止服务.

大佬总结

以上是大佬教程为你收集整理的windows – 在安装之前检测MSI是否需要重新启动全部内容,希望文章能够帮你解决windows – 在安装之前检测MSI是否需要重新启动所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。