Windows开发必备素质--何为Visual C++ Redistributable Package?

有时候,装一些软件的时候会发现系统会多安装了一些Microsoft Visual C++ 2008 Redistributable或者Microsoft Visual C++ 2010 Redistributable的东西。


实际上,这些Microsoft Visual C++ Redistributable Package是你所安装的程序运行要用的一些类库,而你安装的程序是用Visual C++ 2008或者Visual C++ 2010来开发的。就像C#写的东西需要.Net Framework一样,如果你C++调用了Microsoft Visual C++ Redistributable Package里面的东西,那么目标机也需要有相应的类库


按照官方的说明(https://www.microsoft.com/en-us/download/details.aspx?id=15336):The Microsoft Visual C++ 2008 Redistributable Package (x64) installs runtime components of Visual C++ Libraries required to run 64-bit applications developed with Visual C++ on a computer that does not have Visual C++ 2008 installed.


如果你用VC++编写好了一个可执行文件,想给同学朋友用的时候,如果直接给可执行文件的话,往往会出现找不到某些动态链接库的问题,这个就是因为目标机上没有安装相应的类库,比如Visual C++ Redistributable Package。


那么如果想检测一些电脑上是否安装了Visual C++ Redistributable Package,可以参考下这里(http://tesfans.org/how-to-detect-the-presence-of-the-visual-c-9-0-runtime-redistributable-package/)。

主要有的方法有以下几种:

通过查询注册表中GUID

检测某些动态链接库是否存在(比如MSVCR80.dll)

通过MSI的API来查询(参考:https://msdn.microsoft.com/en-gb/library/aa370363.aspx)

当然,如果只是想简单地利用批处理来查询下是否安装了VC++ Redistribuable package的话可以参考(http://blog.csdn.net/u012330231/article/details/50654542)


想发布你的可执行文件有以下几种方法:

1、直接把你程序调用到的库和可执行文件一同打包给别人(理论上可以,但是实际中可能会遇到其他问题,比如DLL注册问题等)

2、直接在目标机上装好相应的平台,比如你用到的VC++ Redistribution等

3、使用现有的一些安装与部署技术,比如:InstallShield Limited Edition for Visual Studio、NSIS、ClickOnce等等

个人比较倾向第3种方法,第1种对于一些小程序也不错。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值