之前重启。如果我启动安装程序与MSIEXEC在安静模式下,我可以检测是否需要重新启动通过检查来完成安装,如果退出代码是3010,但希望我能够以可编程形式执行测试是否安装MSI需要重新启动才能完成之前我启动实际安装程序。检测是否需要MSI安装
我在微星的API环顾四周:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa369426(v=vs.85).aspx
我没想到我能:
- 呼叫MsiOpenPackage让安装程序就可以运行
- 呼叫MsiDoAction与以下内容:CostInitialize,FileCost,CostFinalize,InstallValidate
- 从FilesInUse表中读取记录(下表在MSDN上翼文档表明,这台正在运行CostFinalize/InstallValidate之后创建的:
http://msdn.microsoft.com/en-us/library/aa369546(VS.85).aspx
但该表实际上并没有出现,当我在安装过程中查询其存在。是否有其他方法来检查是否需要重新启动?
这很有道理 - 用户可以在安装启动并导致问题后启动应用程序。 –