当前位置:  开发笔记 > 编程语言 > 正文

如何以编程方式确定是否安装了Visual C++ Runtime 8.0?

如何解决《如何以编程方式确定是否安装了VisualC++Runtime8.0?》经验,为你挑选了1个好方法。

我有一个InstallShield安装,它使用依赖于Visual C++ Runtime 8.0 sp1的自定义操作.在过去,我能够使用Microsoft提供的合并模块和Visual Studio安装运行时.基于Visual C++ Runtime 8.0 sp1并行安装在Vista上的工作方式,在安装的提交顺序之前,不能使用运行时.

这意味着我必须将自定义操作的执行移动到提交序列(不合需要,因为如果出现问题,在此序列中无法回滚安装)或者在安装之前使用InstallShield先决条件安装Visual C++ Runtime .

我更愿意安装Visual C++ Runtime作为先决条件,但InstallShield不提供此先决条件,因此我必须自己编写.我能够弄清楚如何配置安装运行时的先决条件,但我不知道如何确定它是否已经安装.是否有我可以检查的注册表项或文件版本来确定这个?



1> Kevin Kibler..:

我找到了描述检测Visual C++ Runtime 8.0和Visual C++ Runtime 8.1的博客文章.基本上,您可以使用MSI自动化接口查找每个运行时的产品代码.

您还可以查找HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\[ProductCode],其中[ProductCode]是您尝试检测的运行时的产品代码(例如{7299052b-02a4-4627-81f2- 1818da5d550d}是8.0 sp1运行时的x86版本的产品代码.

这些方法仅用于检测是否安装了运行时可再发行组件包; 有可能安装了运行时,即使这些方法没有这样说明(例如,如果它是作为合并模块安装而不是使用可再发行组件),但在这种情况下安装可再发行组件不会有任何损害.

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有