我需要安装Microsoft Visual C ++ 2008运行时(x86),但当我搜索谷歌并调查此事时我才知道微软正在提供4个不同版本的Microsoft Visual C ++ 2008运行时
Microsoft Visual C ++ 2008可再发行组件包(x86) 发布日期:2007年11月29日
Microsoft Visual C ++ 2008 SP1可再发行组件包(x86) 发布日期:2008年9月16日
Microsoft Visual C ++ 2008 Service Pack 1可再发行组件包ATL安全更新 发布日期:2010年9月29日
Microsoft Visual C ++ 2008 Service Pack 1可再发行组件包MFC安全更新 发布日期:2011年6月7日
现在应该下载哪个二进制文件,如果我下载第4个二进制文件,我应该能够运行使用第一个运行时构建的应用程序(如上所述: - 1. Microsoft Visual C ++ 2008 Redistributable Package(x86) - 发布日期:2007年11月29日)。
或者我应该按顺序逐个安装所有这些,你能指导我吗?
仅供参考:1。我在发布之前已经搜索了stackoverflow,但没有找到答案。 我在谷歌搜索这个词: - VC ++ 2008
答案 0 :(得分:2)
直观的选择是正确的,安装最新版本。这些安装程序还部署了一个发布者策略文件,该文件将要求任何旧版本的程序重定向到新版本。这是他们可以通过哪些基本机制来激活关键错误修复或安全更新。
或者更坦率地说,发布者策略是针对DLL Hell对策的对策。它们运行良好,我从未听过有人抱怨这些DLL的版本控制问题。更典型的DLL Hell问题是用旧版本覆盖DLL,这种并行DLL不会发生这种情况。当程序要求新版本(查看.manifest文件)时部署旧版本是一个失败鲸鱼。
答案 1 :(得分:1)
我按照时间顺序推荐所有这些。 一些写得不好的安装程序(是的.. InstallShield)使用二进制自定义操作,那些可以在清单中具有硬编码依赖项。 它是轻量级的,互不冲突。
答案 2 :(得分:1)
1。 Microsoft Visual C ++ 2008可再发行组件包(x86)发布日期:2007年11月29日
这是使用Visual Studio 2008编译的32位(x86)应用程序所需的。
2。 Microsoft Visual C ++ 2008 SP1可再发行组件包(x86)发布日期:2008年9月16日
与上面相同,但它包含Service Pack 1(SP1)的更新。如果您使用带有Service Pack 1的Visual Studio 2008编译应用程序,请使用此代码而不是上面的那个。
可以从帮助 - >中检查Visual Studio的版本和Service Pack级别。关于IDE的内部。
3。 Microsoft Visual C ++ 2008 Service Pack 1可再发行组件包ATL安全更新发布日期:9/29/2010
4。 Microsoft Visual C ++ 2008 Service Pack 1可再发行组件包MFC安全更新发布日期:2011年6月7日
我无法从名称中看出这两个是否只是对上述可再发行组件包的可选更新,或者它们是否包含完整的可再发行组件包加上可选更新。
无论哪种方式,只有在您的应用程序是用ATL或MFC编写时才需要它们。
如果这太令人困惑,请注意在分发应用程序时甚至不需要使用任何这些可再发行的安装程序。您可以将所需的运行时DLL放在与可执行文件相同的文件夹中,它运行得很好。
作为Visual Studio安装的一部分,所需库的正确版本将复制到您的计算机。您可以在以下目录中找到它们:
<Program Files folder>\Microsoft Visual Studio 9.0\VC\redist\x86