我有一个IS 2018 InstallScript微星项目。我已在升级视图中进行了更改,并添加了一个升级项目以支持自动主要升级。
问题是如何在安装脚本中检测安装是否要执行重大升级。
更具体地说,在安装脚本.Rul文件中,在OnFirstUIBefore函数中,我想知道安装是否会继续‘重大升级’,并在此基础上执行某些安装任务。
有没有什么InstallShield InstallScript属性可以让我检查一下,看看是否会执行‘重大升级’?
提前谢谢。
发布于 2019-06-26 10:30:31
您可以使用MsiGetProperty检索IS_MAJOR_UPGRADE或在主要升级项目中指定的属性。如果检索到的值不为空,则表示找到了相关产品,并且您的安装将替换它。(假设您没有设置主要升级项的仅检测属性。)
请注意,与链接的示例相反,您需要引用ISMSI_HANDLE而不是hMSI来从OnFirstUIBefore访问Windows Installer句柄,因为事件不会将句柄作为参数接收。
你也可以检查UPGRADINGPRODUCTCODE,但这是在相关的场景中,当前的产品正在被移除,因为一个主要的升级正在替换它。
https://stackoverflow.com/questions/56744829
复制相似问题