【发布时间】: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