zoukankan      html  css  js  c++  java
  • [转]VS2008编译出的程序在另一台机器上无法运行的问题

    上次拿到了一个vs2008的编译的Release程序,结果本地打开以后提示“应用程序配置不正确,程序无法启动”,可是我本地

    1. 安装了vs2008
    2. 打了sp1补丁
    3. 安装了 vcredist.exe(Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)
    4. 安装了SP1 ATL 安全更新 (KB973675)

    依然不起效果,网上搜了下,说是manifest不匹配

    之后直接文本方式打开exe,在其中搜索Microsoft,看到这个可执行程序的manifest信息

    .... name="Microsoft.VC90.CRT" version="9.0.30729.4148" processorArchitecture="x86" ....
    .... name="Microsoft.VC90.CRT" version="9.0.30729.4148" processorArchitecture="x86" ....

    字样


    接着,去本地安装的VS2008目录下,寻找相关的manifest和dll,关键词"VC90",然后看到在VC/redist/x86下有以下两个文件夹

    Microsoft.VC90.CRT
    Microsoft.VC90.MFC

    然后在VC/redist/Debug_NonRedist/x86目录下有以下两个文件夹

    Microsoft.VC90.DebugCRT
    Microsoft.VC90.DebugMFC

    注意,是除了x86文件夹,amd或ia64下也有,要根据可执行程序的版本选择相关的版本,已文本方式打开其下的manifest文件,发现版本为 "9.0.30729.1"

    接着把这四个文件夹拷到无法打开的可执行程序的同级目录,把.manifest文件都更改为和可执行文件的版本一致,在点开可执行文件,这次能正常打开了

  • 相关阅读:
    Python字典
    Python集合
    Hungray匈牙利算法
    异常捕获模块,throw, try, catch, finally
    《加德纳艺术通史》罗杰克-劳利
    《高效休息法》久贺谷亮
    梯度检验 Gradient check,bias correction, Exponentially Weighted Averages
    方差与偏差,bias vs variance
    大数定理,中心极限定理以及一些常见分布
    聚类-均值漂移
  • 原文地址:https://www.cnblogs.com/wxxweb/p/2304984.html
Copyright © 2011-2022 走看看