免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5948 | 回复: 9

[C++] 【VC6开发的程序部署到win7系统无法运行的问题】 [复制链接]

论坛徽章:
0
发表于 2014-10-15 12:08 |显示全部楼层
10可用积分
我用VC6.0开发了一个简单的程序,在xp系统上可运行,但部署到win7系统(没安装vc6)后,双击程序文件无反应,也不报错。

程序使用了Microsoft Internet Transfer Control 6.0 (SP6)的component,用于实现向一个服务端建立http连接、发GET请求、获取响应数据。

程序最终编译为release版本,且工程被设置为“使用MFC作为静态链接库”。

我尝试用dependency Walker分析编译出的目标程序,并将程序用到的所有依赖文件与程序放到一个目录,在win7系统上仍然不能运行。

至于为何还在用VC6开发程序,是实际情况限制,不多说,请不要建议我更改开发工具。

我在线等,为解决问题需要提供其他信息的,尽管提出来,我会及时提供,先多谢了!

最佳答案

查看完整内容

回复 7# chinaljj 我猜是“Microsoft Internet Transfer Control 6.0 (SP6)”没登录, 你在引用的电脑中将这个文件及相关文件Copy出来, 再在目标电脑上 regsvr32试试。

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
发表于 2014-10-15 12:08 |显示全部楼层
回复 7# chinaljj


    我猜是“Microsoft Internet Transfer Control 6.0 (SP6)”没登录, 你在引用的电脑中将这个文件及相关文件Copy出来, 再在目标电脑上 regsvr32试试。

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
发表于 2014-10-15 12:29 |显示全部楼层
你编个简单的程序看一下能不能执行。

我用VC6.0开发了一个简单的程序,在xp系统上可运行,但部署到win7系统(没安装vc6)后,双击程序文件无反应,也不报错。

<< 看起来不是DLL问题

程序使用了Microsoft Internet Transfer Control 6.0 (SP6)的component,用于实现向一个服务端建立http连接、发GET请求、获取响应数据。

<< 不知是否相关, 既然其它地方没问题, 就只能说这地方可能有部件(注册了COM没)或API问题。

程序最终编译为release版本,且工程被设置为“使用MFC作为静态链接库”。
我尝试用dependency Walker分析编译出的目标程序,并将程序用到的所有依赖文件与程序放到一个目录,在win7系统上仍然不能运行。

<< 这个设置没问题
  1. 至于为何还在用VC6开发程序,是实际情况限制,不多说,请不要建议我更改开发工具。
复制代码
<< 的确没想到为什么会有这个限制

论坛徽章:
323
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
发表于 2014-10-15 13:09 |显示全部楼层
估计是程序逻辑中有失败退出了,建议手工加调试信息看执行到哪里退出的

论坛徽章:
6
技术图书徽章
日期:2013-11-13 11:11:27子鼠
日期:2014-02-20 17:54:13处女座
日期:2014-06-16 17:43:33午马
日期:2014-08-08 09:11:17未羊
日期:2014-08-10 11:57:072015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2014-10-15 13:18 |显示全部楼层
win7上装个vc6或更高版本,重新编译一个。

论坛徽章:
2
戌狗
日期:2013-11-06 17:35:36寅虎
日期:2014-10-20 23:12:29
发表于 2014-10-15 14:21 |显示全部楼层
你是不是使用了一些外部的代码? 请检查全部代码中是否使用了 exit(),_exit() ExitProcess() 这类的函数, 可能他的一些判断在window7上失败了就安静退出了

论坛徽章:
0
发表于 2014-10-15 15:26 |显示全部楼层
folklore 发表于 2014-10-15 12:29
你编个简单的程序看一下能不能执行。


依照仁兄的建议,我写了一个简单的程序,在没有将“Microsoft Internet Transfer Control 6.0 (SP6)”的component增加到工程中时,程序是可以在win7上运行的,但只要增加该component到工程,编译后放到win7上就运行不了。这个component是怎么回事?要如何才能让程序在win7上运行?

另:我的程序是在xp系统上用vc6.0开发、编译,然后放到win7平台运行。由于要部署很多台机器,所以给每台机器安装vc不现实。

先行感谢提供解决思路。

论坛徽章:
0
发表于 2014-10-15 15:29 |显示全部楼层
回复 5# peijue

程序比较简单,全部检查了一下,没有exit等的出现。


   

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2014-10-16 08:02 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP