正确的VC2008运行库发行方法

本文介绍了解决VC2008运行库依赖问题的方法,针对不同Windows系统版本提供了两种免安装方案。一种适用于Win2000系统,只需将所需dll文件与exe文件放置在同一目录下;另一种适用于XP及以上系统,需要创建特定目录结构并配置manifest清单文件。

大部分软件在打包时会将vc2008运行库安装包打包进去,安装时调用,这样就解决了dll依赖问题

然而好多系统本身存在一些莫名其妙的问题,vc2008运行库安装包是无法正确安装的

这就需要免安装vc2008运行库,然后能将exe执行起来的方案

/MT编译固然是最省事的,但是有些库恰恰是那种闭源的bin,没有源代码,人家就是依赖vc2008

这时候怎么办呢?

首先有两种场景:

1.支持Win2000,最简单,将msvcr90.dll msvcX90.dll等文件和exe放在一起就好了

2.XP以上系统使用了sxs解决dll冲突问题,因此需要创建一个Microsoft.VC90.CRT的目录和exe放在一起,这个目录里面放 msvcX90.dll,然后再放一个清单文件Microsoft.VC90.CRT.manifest内容如下

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (c) Microsoft Corporation.  All rights reserved. -->
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <noInheritable/>
  <assemblyIdentity
    type="win32"
    name="Microsoft.VC90.CRT"
    version="9.0.21022.8"
    processorArchitecture="x86"
    publicKeyToken="1fc8b3b9a1e18e3b"
  />
  <file name="msvcr90.dll" /> <file name="msvcp90.dll" /> <file name="msvcm90.dll" />
</assembly>

注意清单文件中的那个版本号9.0.21022.8必须要和你的exe或dll所依赖的版本号一致,否则exe是无法加载的。

 

方案学习自winamp

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值