关于windows可运行程序相关dll绿化相关摘要

windows下exe运行需要一些系统或者开发dll支持,如果exe需要在一台纯净的机器上运行,通常来说有3种方式:1.编译静态版本,将一些库都打包进exe,这样会少做很多工作,后果是exe会非常大。2.在目标机器上装上开发环境,这样也能少做很多工作,比较繁琐一点。3.仔细研究微软的manifest文件系统,通过这个文件系统找到exe运行所需要的库,并且将manifest文件同dll文件打包成安装程序,直接在目标机器上运行,这种方式是比较推荐的,也是比较难掌握的!着重记录下第三种方式该怎么配置自己的manifest文件。


首先exe运行会在本目录下查找以exe名相同的config配置文件:例如 可执行文件名为launcher.exe 那么这个配置文件名为launcher.exe.config。这是一个dll版本转换文件,如果可执行目录下没有这个文件,windows会在系统目录下查找,这个文件的目的是当所要运行的dll版本号与系统内存在的dll版本号对不上的时候,进行版本转换。例如mfc90.dll所要运行的版本号为9.0.21022.8,但现在系统只有9.0.30729.1这个版本,这个时候就需要转换了。然后会在当前目录下查找Microsoft.VC90.CRT这个文件夹,如果没有这个文件夹,会直接当前目录下查找Microsoft.VC90.CRT.manifest这个文件,这个文件的目的是记录所要运行dll的的一些信息,比如版本号,publickeytoken等一些信息,具体一些应用,微软没有说的很明白,当可执行文件下有launcher.exe.config 和 Microsoft.VC90.CRT.manifest这2个文件的时候,这个可执行文件运行起来就会在当前目录下读取dll(如果没有这些的话是在系统目录下读取),在将我们在开发机上所用版本的dll打包发布出去,这样就真正做到绿化了,目标机器既不需要安装开发环境,也不需要将项目编译静态版本。该篇blog的主要目的是记录下这个流程,以备不时之需(就是怕自己忘了)   :(

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值