我使用Visual Studio在C++中创建了一个客户端服务器应用程序。
现在我想在另一台没有安装Visual Studio的计算机上运行客户端EXE文件, 但当我尝试运行EXE文件时,它会给出以下错误消息:
此应用程序无法启动,因为应用程序配置不正确。重新安装应用程序可能会解决此问题。
如何在计算机上不安装任何软件的情况下运行EXE文件?
我使用Visual Studio在C++中创建了一个客户端服务器应用程序。
现在我想在另一台没有安装Visual Studio的计算机上运行客户端EXE文件, 但当我尝试运行EXE文件时,它会给出以下错误消息:
此应用程序无法启动,因为应用程序配置不正确。重新安装应用程序可能会解决此问题。
如何在计算机上不安装任何软件的情况下运行EXE文件?
使用 Visual Studio 构建的应用程序依赖于 Visual C++ Redistributable(VCRedist)。当程序被动态链接时,你的二进制文件将需要 MSVCR**.dll
(Microsoft C 运行时库)。
在 MSDN 上,有一篇很好的文章叫做 Redistributing Visual C++ Files (for Visual Studio 2008),它指出如果未安装所需的 Visual C++ 库,则可能会出现潜在的运行时错误:
根据你尝试运行应用程序的 Windows 版本,你可能会收到以下错误消息之一:
- 应用程序无法正确初始化(0xc0000135)。
- 此应用程序无法启动,因为应用程序配置不正确。重新安装应用程序可能会解决此问题。
- 系统无法执行指定的程序。
但是您的应用程序可能还依赖其他 DLL 文件。如果您想查找程序的依赖关系,有一个名为 Dependency Walker 的实用工具可以帮助您解决这个问题以及其他许多情况 :)
depends
是一个很好的工具,可以找出缺失的库。 - Nate Hekman背景:
解决方案:
无论如何,目标计算机都必须拥有完全相同的运行时程序集。以下是几种方法(有关更多详细信息,请在 Google 中搜索):
条件:
exe
还是包括任何其他的 DLLs
? - Nayana Adassuriya我将程序发布到了 release 版本而不是 debug 版本,现在 EXE 文件可以在另一台电脑上运行。
看起来你缺少一些DLL文件。请确保将适当的DLL文件与EXE文件一起复制。
我正在使用Visual Studio 2019,并找到了一个非常有用的配置属性,以解决将简单应用程序移动到另一台计算机而无需安装包的问题。
重新构建您的项目。 所有必要的dll将被复制到项目的输出目录中。 将您的exe和所有dll复制到另一台计算机上。 exe应该能够找到运行所需的所有内容。