gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 06:41:06 25 4
gpt4 key购买 nike

我有一个 InstallShield 安装,它使用依赖于 Visual C++ Runtime 8.0 sp1 的自定义操作。过去,我可以使用 Microsoft 提供的合并模块和 Visual Studio 来安装运行时。根据 Visual C++ Runtime 8.0 sp1 并行安装在 Vista 上的工作方式,在安装的提交顺序之前无法使用运行时。

这意味着我必须要么将我的自定义操作的执行移至提交序列(不受欢迎,因为如果出现问题,安装无法在此序列期间回滚),要么在安装之前使用 InstallShield 先决条件安装 Visual C++ 运行时.

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

最佳答案

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

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

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

关于visual-c++ - 如何以编程方式确定是否安装了 Visual C++ Runtime 8.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/566259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com