Visual c++ 如何以编程方式确定Visual C++;是否安装运行时8.0? 我有一个安装屏蔽安装,使用自定义操作依赖于VisualC++运行时8 SP1。在过去,我能够使用Microsoft和Visual Studio提供的合并模块安装运行时。基于VisualC++运行时8 SP1并排安装在Vista上的工作方式,运行时不能被使用直到安装的提交顺序。 这意味着我必须将我的自定义操作的执行移动到提交序列(不希望的,因为如果出现错误,安装过程中不能回滚),或者在安装之前使用安装屏蔽先决条件安装VisualC++运行时。p> 我希望安装VisualC++运行时作为前提,但前提是安装程序不提供,所以我必须自己编写。我能够弄清楚如何配置安装运行时的先决条件,但我不知道如何确定它是否已经安装。是否有注册表项或文件版本可以检查以确定这一点?

Visual c++ 如何以编程方式确定Visual C++;是否安装运行时8.0? 我有一个安装屏蔽安装,使用自定义操作依赖于VisualC++运行时8 SP1。在过去,我能够使用Microsoft和Visual Studio提供的合并模块安装运行时。基于VisualC++运行时8 SP1并排安装在Vista上的工作方式,运行时不能被使用直到安装的提交顺序。 这意味着我必须将我的自定义操作的执行移动到提交序列(不希望的,因为如果出现错误,安装过程中不能回滚),或者在安装之前使用安装屏蔽先决条件安装VisualC++运行时。p> 我希望安装VisualC++运行时作为前提,但前提是安装程序不提供,所以我必须自己编写。我能够弄清楚如何配置安装运行时的先决条件,但我不知道如何确定它是否已经安装。是否有注册表项或文件版本可以检查以确定这一点?,visual-c++,installation,runtime,installshield,prerequisites,Visual C++,Installation,Runtime,Installshield,Prerequisites,我找到了描述和检测的博客文章。基本上,您可以使用MSI自动化接口来查找每个运行时的产品代码 您还可以查找HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\[ProductCode]其中[ProductCode]是您试图检测的运行时的产品代码(例如,{7299052b-02a4-4627-81f2-1818da5d550d}是x86版本的8.0 sp1运行时的产品代码) 这些方法仅用于检测是否安装了运行时可

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

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


这些方法仅用于检测是否安装了运行时可再发行包;即使这些方法没有指示,也可以运行运行时(例如,如果它被安装为合并模块而不是使用可重新分配的),但是在这种情况下安装可重分配包不会有任何伤害。

对于任何试图检测VisualC++ 2010运行时的人来说,您可以在这里找到好的指令: