gpt4 book ai didi

windows - 安装前检测 MSI 是否需要重启

转载 作者:可可西里 更新时间:2023-11-01 13:29:51 26 4
gpt4 key购买 nike

如果我在安静模式下使用 MSIExec 启动安装程序,我可以通过检查退出代码是否为 3010 来检测是否需要重新启动才能完成安装。但是我希望能够以可编程形式执行的操作是测试MSI 的安装是否需要在我启动实际安装程序之前重新启动才能完成。

我查看了 MSI API:

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

我确实认为我可以:

  1. 调用 MsiOpenPackage 使安装程序准备好运行
  2. 使用以下参数调用 MsiDoAction:CostInitialize、FileCost、CostFinalize、InstallValidate
  3. 从 FilesInUse 表中读取记录(MSDN 上的以下文档表明此表是在运行 CostFinalize/InstallValidate 之后创建的:

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

然而,当我在安装过程中查询时,该表实际上并不存在。是否有任何其他方法来检查是否需要重新启动?

最佳答案

Gareth,理论上您不需要执行实际安装,您应该只执行操作直到 InstallValidate(包括),因为那时会出现 Files In Use 消息。但是,当使用外部 UI 处理程序执行安装时,Windows Installer 的行为可能会略有不同,因此应对此进行测试。

关于windows - 安装前检测 MSI 是否需要重启,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10790570/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com