【问题标题】:Which msvcp100.dll/msvcr100.dll to deploy for customers?为客户部署哪个 msvcp100.dll/msvcr100.dll?
【发布时间】:2016-08-17 21:00:23
【问题描述】:

在我的产品中,我部署了特定版本的 msvcp100.dll 和 msvcr100.dll,它们也属于再分发包。更准确地说,我从我的目录C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\redist\x86\Microsoft.VC100.CRT 中使用它们。我只是将这些 dll 放入我的软件的安装目录中。是的,我的软件编译为 x86 并使用 Visual Studio 2010。

这些在我的机器上运行良好。但是,我看到一些客户遇到的错误可以通过删除这些文件并使用 Microsoft 的在线安装程序手动安装 Visual Studio 2010 可再发行组件来解决。错误的形式为:

此应用程序无法启动,因为 MSVCR100.dll 没找到。重新安装应用程序可能会解决此问题。

我认为 msvcp100.dll 和 msvcr100.dll 在某种意义上是独一无二的,但似乎有不同的版本。我应该如何将这些文件部署给我的客户,使其适用于所有客户?如果这不可能,那么部署这些文件的好方法是什么?

【问题讨论】:

  • 他们得到什么错误?正如你提到的,最好的方法是从 MS 安装 Redistributable Package...
  • 确切的错误是“此应用程序无法启动,因为未找到 MSVCR.dll。重新安装应用程序可能会解决此问题。”
  • 版本号是多少? ;-)
  • 100。抱歉,我认为根据问题会很清楚
  • 奇怪...您写评论时不清楚,因为您的应用程序可以使用库/ SDK,这需要与您的应用程序不同的运行时版本。

标签: c++ visual-studio deployment


【解决方案1】:

这取决于操作系统版本和架构,因此最好在安装程序中添加 Microsoft Visual C++ Redistributable Package 作为先决条件,以便安装程序可以检查系统是否确实需要,然后相应地安装/跳过它.

【讨论】:

  • 我明白了。如果您为您的软件提供一个zip 文件,您将如何处理它,这样我就可以运行而无需安装?
  • 尝试使用 Inno Setup 或 NSIS,它们都可以免费使用,并且网上有很多教程。
猜你喜欢
  • 2015-01-31
  • 1970-01-01
  • 2013-06-14
  • 2011-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-26
  • 1970-01-01
相关资源
最近更新 更多