如何从注册表安装一致性检测4.5.1

时间:2014-06-24 11:23:15

标签: .net installation registry wise

我的.net应用程序是使用4.5.1构建的。目前我正在开发安装程序项目,并使用symantec wise脚本。我添加了一个必要条件,只有在安装.net 4.5.1时才能继续安装。

http://msdn.microsoft.com/en-us/library/hh925568%28v=vs.110%29.aspx中解释了检测此问题的注册表项。

如上所述,我在注册表路径中检测378758或378675 for release key。

但是,微软发布了另一个更新版本4.5.2(密钥:379893),它取代了早期的注册表项。 因此,我的检查不允许将应用程序安装在4.5.2系统中。但是,因为它是4.5.1的就地更新,逻辑上它应该。我可以添加379893的额外发布版本。这将满足每个必要条件。

但是,如果Microsoft发布另一个就地更新,例如4.5.3,我的检查将再次失败。

由于它是一个安装程序项目,一旦它从发布门出来,我无法更改必备逻辑。

所以,我提出了一个问题,是否有一种强大的方法可以检测.net 4.5.1及其后续的所有更新,是否只能通过注册表完成?

我正在附加注册表的截图,将其更新为4.5.2。 enter image description here

1 个答案:

答案 0 :(得分:1)

我发现注册表路径的存在直到Full,如屏幕截图所示,应该确保包含所有4.0的更新。 检查是否发布> 378675将确保包含大于4.5.1的所有更新。

从另一个类似的stackoverflow解决了与wix安装程序相关的问题。 Detect .NET Framework 4.5.1 using WiX

这个解决方案似乎有效。