永发信息网

如何在其他电脑上运行VS2005编译的DEBUG版应用程序

答案:5  悬赏:0  手机版
解决时间 2021-05-08 19:33
做项目的过程中,遇到这样的问题:在自己的电脑上用VS2005编译好的DEBUG版程序在其它的没有安装VS2005的电脑上没有办法运行。这样才能在没装VS2005的电脑上运行,在先等
最佳答案

首先,通过菜单找到关于选项查询当前VS2005的版本,然后到自己电脑"$(Windows)\WinSxS\"目录下可以看到很多长长名字的目录。第一个"_"前为平台,这里以x86为例,接下来找到带有"Microsoft.VC80.DebugCRT"和"Microsoft.VC80.DebugMFC"字样的且包含上面版本号的目录。我的电脑目录如下:
x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_5490cd9f x86_Microsoft.VC80.DebugMFC_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_257740a4
将这两个目录拷贝到目标电脑的"$(Windows)\WinSxS\"位置,进入"$(Windows)\WinSxS\Manifests\"目录,用上面的方法找到四个文件并拷贝到目标电脑的相同目录中,我的电脑文件如下:
x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_5490cd9f.cat以及.manifest文件
x86_Microsoft.VC80.DebugMFC_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_257740a4.cat以及.manifest文件

最后一步,进入"$(Windows)\WinSxS\Policies\"目录,找到带有"Microsoft.VC80.DebugCRT"和"Microsoft.VC80.DebugMFC"字样的两个目录将其拷贝到目标电脑的相同目录,我的电脑目录如下:
x86_policy.8.0.Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_x-ww_09e017b4
x86_policy.8.0.Microsoft.VC80.DebugMFC_1fc8b3b9a1e18e3b_x-ww_a193936f
到此,所有需要的文件都拷贝结束了,运行刚刚的应用程序,显示了我们熟悉的错误信息:"This application has failed to start because XXX.dll was not found. Re-installing the application may fix this problem."


按照提示,将需要的DLL拷贝到"$(Windows)\System32\"目录下,我的这次实验中需要拷贝 "msvcp71d.dll"和"msvcr71d.dll"。这样就可以顺利的运行DEBUG的程序了。

顺便提一下,在VS2005中,默认的会给每一个应用程序编译生成一个"应用名.exe.manifest"文件,打开来看,可以发现跟我们上面拷贝的文件以及目录名称有些相近的地方,如:
<assemblyIdentity type="win32" name="Microsoft.VC80.DebugCRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
我们要拷贝的文件命就是这样的组合:processorArchitecture_name_publicKeyToken_version_...,所以如果在拷贝上诉文件以及目录之后仍旧无法运行的,可以看看manifest文件里面是不是还依赖了其它目录,如法炮制应该就可以了。

另外,在寻找解决办法的过程中看到有人提到release版的问题,解决方法则方便的多:拷贝"$(Microsoft Visual Studio 8)\SDK\v2.0\BootStrapper\Packages\vcredist_x86\vcredist_x86.exe"到目标电脑执行即可,我没有试过这个方法,因为我release版的文件拷过去就可以直接运行了。如果你的程序无法运行,可以试一下。

注:2008年2月20日遇到一台电脑无法运行Release版程序,如上所说运行"vcredist_x86.exe",确实可以。

全部回答
运行VS2005的程序需要在目标机器上安装 .net Framework 2.0 的

如果VS编MFC的话就要

要运行VS编译程序需要 .net Framework 平台

如果VS编MFC的话就不需要

.net Framework版本不统一

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
铁匠在什么位置
为什么我的移动卡开通不了QQ黄钻???
怎样可以开通十元钱300M流量呢?知道的请提示
数学问题,会的来.
求情侣网名?要诗化点的…
德胜橱柜衣柜在哪里啊,我有事要去这个地方
DNF朋友给我邮了1438个泰拉石,可我一直没上
一起又看了流星雨的配音表
露的谚语,关于气象的谚语
想问一下,关于显卡的,谢谢
高小龙的个性签名?
公鸡为什么凌晨一点还要打鸣?
奥克斯手机m878
阳谷县个体私营企业协会张秋基层分会在哪里啊
哈尔滨极地馆门票多少钱
推荐资讯
吃什么能补维生素D
为什么现在的女孩这么性开放?
北京爱情岛摄影岛的网址或QQ有谁知道啊?
龙岗天虹做什么车到观兰汽车站
西南民族电气工程及其自动化怎么样?
我的电脑语言栏不见了
感觉欧弟怎摸样?
DNF力法觉醒变身+1到+7各级伤害和时间
热带鱼珍珠蝴蝶可以什么鱼一起养啊
炸素虾的制作
床前一对美夫妻 又不高又不底 打一东西 ~ 谁
号被盗积极怎么办
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?