6

我需要安装 Microsoft Visual C++ 2008 运行时 (x86),但是当我搜索谷歌并调查此事时,我知道微软提供了 4 个不同版本的 Microsoft Visual C++ 2008 运行时

  1. Microsoft Visual C++ 2008 Redistributable Package (x86) 发布日期:11/29/2007

  2. Microsoft Visual C++ 2008 SP1 Redistributable Package (x86) 发布日期:9/16/2008

  3. Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package ATL 安全更新发布日期:9/29/2010

  4. Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package MFC 安全更新发布日期:6/7/2011

现在我应该下载哪个二进制文件,如果我下载第四个二进制文件,我应该能够运行使用第一个运行时构建的应用程序(上面提到:- 1. Microsoft Visual C++ 2008 Redistributable Package (x86) -- 发布日期:11/ 29/2007)。

或者我应该按顺序一个一个地安装它们,你能指导我吗?

仅供参考:1.我在发布之前已经搜索了stackoverflow,但没有找到答案。2.我在google上搜索过这个词:- VC++ 2008

4

3 回答 3

2

直观的选择是正确的,安装最新版本。这些安装程序还部署发布者策略文件,该文件将要求任何旧版本的程序重定向到新版本。这是他们可以获得关键错误修复或激活安全更新的基本机制。

或者说得更直白一点,发布者政策是针对 DLL Hell 对策的对策。它们运行良好,我从未听说有人抱怨这些 DLL 的版本控制问题。更典型的 DLL Hell 问题是用旧版本覆盖 DLL,而这些并行 DLL 不会发生这种情况。当您的程序要求新版本时部署旧版本(查看 .manifest 文件)是失败的鲸鱼。

于 2013-04-21T13:03:54.967 回答
1

我会按时间顺序推荐所有这些。一些编写不佳的安装程序(是的.. InstallShield)使用二进制自定义操作,并且这些安装程序可能在清单中具有硬编码的依赖关系。它是轻量级的并且彼此不冲突。

于 2013-04-21T11:41:12.473 回答
1

1. Microsoft Visual C++ 2008 Redistributable Package (x86) 发布日期:11/29/2007

这是使用 Visual Studio 2008 编译的 32 位 (x86) 应用程序所需要的。

2. Microsoft Visual C++ 2008 SP1 Redistributable Package (x86) 发布日期:9/16/2008

与上述相同,只是它包括来自 Service Pack 1 (SP1) 的更新。如果您使用带有 Service Pack 1 的 Visual Studio 2008 编译了应用程序,请使用这个而不是上面的那个。

Visual Studio 的版本和服务包级别可以从 IDE 内部的 Help -> About 中检查。

3. Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package ATL 安全更新发布日期:9/29/2010

4. Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package MFC 安全更新发布日期:6/7/2011

从名称上我无法判断这两个是否只是对上述可再发行软件包的可选更新,或者它们是否包括完整的可再发行软件包加上可选更新。

无论哪种方式,只有当您的应用程序是用 ATL 或 MFC 编写时才需要它们。


如果这太令人困惑,请注意,在分发应用程序时,您甚至不需要使用任何这些可再分发的安装程序。您只需将所需的运行时 DLL 与可执行文件放在同一文件夹中,它就会运行良好。

作为 Visual Studio 安装的一部分,所需库的正确版本将复制到您的计算机。您将在以下目录中找到它们:

<Program Files folder>\Microsoft Visual Studio 9.0\VC\redist\x86
于 2013-04-21T12:39:10.167 回答