代码之家  ›  专栏  ›  技术社区  ›  unixman83

用户可能安装的VisualC++运行时是什么?

  •  6
  • unixman83  · 技术社区  · 14 年前

    用户可能安装的VisualC++运行时是什么?

    更新: 这个问题已经成为“用C++编写基于Internet的应用程序的最佳方式”。这需要微软VisualC++运行时。

    3 回复  |  直到 13 年前
        1
  •  8
  •   Community Neeleshkumar S    7 年前

    我不相信微软能保证在操作系统安装中运行时间是可用的。这更多的是一个副作用,其中包括使用特定运行时构建的应用程序。

    如果你需要一个特定的C++运行时间,你需要自己安装它。如果您正在生成MSI install,Visual Studio将安装所需的合并模块。如果不行,你可以 download the run time 来自微软。

    如果您只想复制一个EXE文件就可以安装,那么就静态地链接到运行时。运行时将内置到EXE中,并且不存在外部依赖项。

    编辑:另请参见 this answer &微软显然不保证任何版本的C++运行时间都将安装在Windows上。

        2
  •  5
  •   unixman83    13 年前

    这个答案很重要,因为 internet部署 基于C++的应用程序。


    我发现了以下情况:

    • 没有新的Windows安装到任何C++运行时(除了MSVCRT.DLL)
    • Windows XP及更高版本附带.NET framework运行时(不适用)
    • C++运行时重新分配是小的下载(1-4MB)。
    • 自动更新不安装任何C++运行时。
    • 安装运行时时。只要启用了Microsoft Update并使用可再发行的安装程序进行部署,Windows就会处理安全修补程序。
    • Internet部署:安装程序(静态链接)应检测运行时的存在,如果尚未安装,则应下载。 您还可以使用gcc-mingw32编译器,该编译器使用VC 6运行时。 这种方法需要internet连接。
    • 大多数主要应用都会 似乎是静态链接。但是有些,比如Mozilla Firefox,将自定义运行时作为DLL分发。

    微软应该开始用它们的OSE来包括C++运行时,就像他们为.NET所做的那样。

        3
  •  2
  •   winwaed    14 年前

    如果它是可再发行的,那么它将在安装程序中重新发行。我会把它作为一个“如果还没有安装”项目包含在你的安装程序中。

    至于你问的具体问题,你试过微软网站吗?它可能需要一些搜索,但它应该在那里。