none
VS2005/2008编译的程序无法在其他电脑上运行? RRS feed

  • 问题

  • 我采用VC2005 Windows窗体编程,只有一个Form。这个程序在自己的电脑上正常运行,但是没有办法在其他电脑上运行(对于Windows XP、Vista全都是这样),即使在一台装上了VS2008的电脑上依旧不能运行。提示:“并行配置不正确”,据说应该在配置内设置静态链接库,但是我设置了以后提示:“\clr与\MT(\MTd)不兼容”,我尝试将、MTd改为\MDd,可是编译出的程序依旧没有办法在其他电脑上运行。
    2011年8月4日 16:55

答案

  • 用ProcMon看看你的进程加载的时候查找了什么DLL。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2011年8月12日 3:15
    版主

全部回复

  • ……你需要在你的安装程序中集成所有你用到的组件。比如你用/clr的话,需要在安装程序里打包.Net,用了CRT的话(比如用了new 和delete),需要打包CRT。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2011年8月4日 19:44
    版主
  • 应该是C++/CLR了,尝试编译到3.5版本。
    rrrfff
    2011年8月5日 10:47
  • 我用到了System::IO,System::String,System::Math,System::Double应该就这些吧(.NET Framework2.0),应该打包哪些文件呢?
    2011年8月7日 8:05
  • 打包.Net……这个不只是文件而且还有注册表和IIS注册等等,需要官方的安装程序。



    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2011年8月7日 15:50
    版主
  • 这个……我打包了以后还是不行啊。我是使用了VS2005里的“安装程序”项目进行打包,并且把所有用到的系统文件全部打包。在其他电脑上装了以后,依旧跳出“配置不正确”。
    实际上我在源代码里只是使用了以下几个而已:

    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;
    using System::Math;

    这个是问题的截图。


    2011年8月9日 2:45
  • 在系统必备里选择打包.Net和VC运行时了吗?

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2011年8月9日 23:20
    版主
  • 打包了还是没用。
    2011年8月12日 1:29
  • 用ProcMon看看你的进程加载的时候查找了什么DLL。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2011年8月12日 3:15
    版主