检测VC++Redistributable运行库 & vcredist_x86.exe

本文介绍了如何检测VC++Redistributable运行库是否已安装,通常用于支持Visual C++开发的Windows应用。文章引用了相关博客,提到不同版本的VC++Redistributable会在注册表特定路径下生成键,可以据此判断安装状态。同时指出,自2008年起,可以检查.NET Framework来替代检测VC++运行库。
摘要由CSDN通过智能技术生成

摘要:一般用Visual C++开发的Windows应用程序需要这个运行时库的支持才能在没有安装Visual C++的计算机上正常运行,也可以在开发软件时选择”在静态库中使用 MFC“,从而将调用的库函数的代码嵌入应用程序,避免对运行时库的依赖。此软件包安装 C Runtime(CRT)、Standard C++、ATL、MFC、OpenMP 和 MSDIA 库的运行时组件。对于支持并行部署模式的库(CRT、SCL、ATL、MFC 和 OpenMP),这些运行时组件安装在支持并行程序集的 Windows 操作系统版本的本机程序集缓存中,这一缓存也称为 WinSxS 文件夹。


形成本文前,研读了bravo的新浪博客中《VC++Redistributable的安装判断 》,以及HuaHuaXia的专栏中《通过注册表检测是否安装了VC++ 2008 SP1 redistributable》两篇文章,了解到VC++Redistributable是大部分Windows平台下开发的程序所需要依赖的库,而vcredist_x86.exe这个6M大小的应用程序就是这个库的安装程序。

不同版本的VC++Redistributable具有不同的GUID(全局唯一标识),这给检测带来了很大困难。但是一个很明确的问题是——不管是何种版本,都会在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\路径下生成一个注册键key。

根据这个特征,这里提出一种可行方式是:根据注册表,判断xx键是否存在来判断VC++Redistributable运行库是否被安装。

// RegEditDetect.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <string>
#include <Windows.h>
using std::string;

LPCTSTR reg[18] = { _T("{A49F249F-0C91-497F-86DF-B2585E8E76B7}"),//Microsoft Visual C++ 2005 Redistributable X86
_T("{7299052B-02A4-4627-81F2-1818DA5D550D}"),//Microsoft Visual C&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值