如果在Windows安装了较旧版本的软件,如何停止安装?

问题描述:

我面临的一个问题,而在Windows 7.My包装我的最新的软件版本最新的软件版本是不升级兼容。所以如果用户已经拥有老版本的软件,我不得不停止安装(禁用未来按钮),或者向客户发送一些通知以删除旧版本。 安装屏蔽(2015)有可能吗?如果在Windows安装了较旧版本的软件,如何停止安装?

+1

在MSI中,通过检查“UpgradeCode”并比较版本号来完成。请参阅此处:https://msdn.microsoft.com/en-us/library/aa370579%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396并在此处:http://blogs.msdn.com/ b/pusu/archive/2009/06/10/understanding-msi.aspx - 由于InstalShield建立在MSI之上,所以应用相同的概念。 – Dai

你可能会想遵循相同的机制ISPreventDowngrade用途。在“升级”视图中,有一个主要升级项目配置为“仅检测”。然后在自定义操作和序列视图中,只有在设置了该升级项目的操作属性时才会触发错误操作。

如果您将这两个项目与新的操作属性(以及新条件)一起复制,并更改升级项目以查找早期版本范围而不是将来版本,则应该能够获得所需的行为。

如果你希望有版本的一个特定的阈值(即从任何1.0-4.0升级到任何5.0或更高版本需要这个,但是从5.0升级到6.0不会),你可以明确地配置版本范围。相反,如果您希望将来您将始终需要此功能,则可以搜索任何以前的版本,并让上限与您的产品匹配。以后任何版本都可以更改。