专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VC

Win32程序在64位Win7上唯有进程却无界面

发布时间:2011-06-23 14:26:50 文章来源:www.iduyao.cn 采编人员:星星草
Win32程序在64位Win7上只有进程却无界面
被这个问题困扰了3天了。。。

我的软件在XP和Win7上以前一直都可以安装并运行正常,但3天前在客户的64位Win7上安装后,双击程序图标无法出现界面,但是任务管理器中有进程。我试过了用兼容模式安装和运行,以及调出Win7的超级管理员来运行,都不行,仍然没有界面出现。

奇怪的是我在我同事的一台装有64位win7的机器上测试一切都是正常的,界面窗口可以显示。为了让客户有同样的环境,我把他的win7 sp1都删了还是不行。在客户机器上可以发现如下错误日志:

Activation context generation failed for "C:\ScandSOFT_Business\CutCad.exe". Dependent Assembly Microsoft.VC80.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.4053" could not be found. Please use sxstrace.exe for detailed diagnosis.

但是并不是每次都会有这样的错误日志生成。可以我查过客户机器,是可以找得到相应的C:\Windows\winsxs\x86_microsoft.vc80.debugmfc_1fc8b3b9a1e18e3b_8.0.50727.4053_none_e9832bc8fd3efed3文件夹的。不知为何日志里说找不到。。

而且我也不能确定界面出不来就一定和这个日志有关。。

另外,我在我应用程序的构造函数一开始加了一个afxmessagebox,但是在客户机器上运行时,居然连这个messagebox都没出现,可见程序是在进入应用程序构造函数前就被阻塞了。从而也不可能出现界面。可是有什么可以解决的方法?

我实在是想不出好的办法了。。各位如果能帮的话请帮帮我。。

------解决方案--------------------
试一试编译成静态库
------解决方案--------------------
debug和release模式side by side deployment有点区别。我曾经遇到过这样的情况:release版本可以运行,debug不行。后来用manifest viewer才发现debug C++ Run-time DLL version mismatch.
How to Debug 'The System cannot Execute the specified program' message
------解决方案--------------------
把工程编译环境改成x86,不要用anycpu,或者反过来
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: