我编译的.exe文件在我的电脑上运行很好,为什么在别人的电脑上不行?
提示 “D:\chat.exe,重命名 
      此档案文件格式未知或已经损坏”为什么?

解决方案 »

  1.   

    可能的原因:
    1. MFC的工程,对方没有装相同版本的MFC的运行环境。比如楼主用VS2008, 对方没装VS或者只装了VS2005/VC6之类。这样的话可以在工程里把引用MFC从动态改为静态。
    2. 楼下补充
      

  2.   

    我是用的静态啊,"Use MFC in a Static Library",我选的是这个
    而且这个.exe在我刚装的虚拟机上跑都没问题, 虚拟机上的xp系统是刚装上去的。
    但在别人电脑上运行就是这个错误提示,我也搞不清楚了
      

  3.   

    MFC用静态库,同时run time library也用/MT...
      

  4.   

    1. exe中有危险的代码片段,被杀毒软件给锁定了,所以无法运行。
    2. 可能拷贝、传递过程中出错。压缩后传输试试。
    3. 更新.net frame work.
    4. 看看有没有类似打开文件的操作。
    感觉程序还没有开始运行,所以前2条可能性比较大。
      

  5.   

    把在其他机器上有问题的EXE拿到原来没问题的机器上再运行下看能运行不?
      

  6.   

    D:\chat.exe,重命名?
    后缀不是exe?
    感觉这是
    被别的软件(如WinRAR)打开后的提示1.检查一下exe文件的打开方式
    试试别的exe能正常运行?
    2.chat.exe被改成chat.exe,重命名?
    后缀名为chat.exe,重命名?
    打开方式可能变为了用 WinRAR 之类的软件打开