none
请问vcredist、vcredist sp1,net Framework,direct X,在win7下到底要安装哪些? RRS feed

  • 问题

  • 操作系统是:win-7-sp1-x64

    平时用的软件非常杂,各种各样的软件,各个时期编写的都有。有最新的,使用最新的技术编写的,也有很古老的,十几年前的程序。

    我想问,以下这些支持库到底要安装哪些。

    ======================================================

    1,这个是不是就是Direct X 11?

    DirectX End-User Runtimes (June 2010)

    http://www.microsoft.com/en-us/download/details.aspx?id=8109

    现在这个就是最新的了是吗?

    =======================================================

    2:据说有些游戏用的是direct x 9的库,所以就算装了11,还是要装9,是吗?

    DirectX 9.0c End-User Runtime

    http://www.microsoft.com/en-us/download/details.aspx?id=34429

    我没有找到direct X 10,是不是没有版本10,或者完全不需要安装版本10?

    既然有C,是不是还有a,b,是不是也需要找来安装?

    ========================================================

    3:关于net Framework,看到有好多版本,是否全都需要安装?它们不能向下支持是吗?装了2还要装3,装了3还要装3.5,装了3.5还要装4,然后所有相应的sp1,sp2都要安装是吗?

    Microsoft .NET Framework 3.5 Service Pack 1(完整软件包)

    http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=25150

    如果下载了这个230多M的安装了,是否还要找net Framework 2.0,net Framework 2.0 sp1,net Framework 2.0 sp2,甚至net Framework 1.0安装?

    =========================================================

    4:装了上面那个3.5 sp1,是否还需要装下面这个net Framework 4?

    Microsoft .NET Framework 4(独立安装程序)

    http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=17718

    =========================================================

    5:下面开始说最乱的vcredist。目前我知道的就有2005,2005sp1,2008,2008sp1,2010,2010 sp1,以及相应的x86版本和x64版本。

    我想问这差不多有12种支持库,如果为了最大的适用性,是否需要全部安装?据说使用了x86下的VC编写的程序,在x64系统下运行,也还是需要这个x64的系统安装vcredist x86版本,是吗?

    Microsoft Visual C++ 2005 Redistributable Package (x64)

    http://www.microsoft.com/en-us/download/details.aspx?id=21254

    Microsoft Visual C++ 2005 SP1 Redistributable Package (x64)

    http://www.microsoft.com/en-us/download/details.aspx?id=18471

    Microsoft Visual C++ 2005 Redistributable Package (x86)

    http://www.microsoft.com/en-us/download/details.aspx?id=3387

    Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)

    http://www.microsoft.com/en-us/download/details.aspx?id=5638

    Microsoft Visual C++ 2008 Redistributable Package (x64)

    http://www.microsoft.com/zh-CN/download/details.aspx?id=15336

    Microsoft Visual C++ 2008 SP1 Redistributable Package (x64)

    http://www.microsoft.com/zh-CN/download/details.aspx?id=2092

    Microsoft Visual C++ 2008 Redistributable Package (x86)

    http://www.microsoft.com/en-us/download/details.aspx?id=29

    Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)

    http://www.microsoft.com/en-us/download/details.aspx?id=5582

    Microsoft Visual C++ 2010 Redistributable Package (x64)

    http://www.microsoft.com/en-us/download/details.aspx?id=14632

    Microsoft Visual C++ 2010 SP1 Redistributable Package (x64)

    http://www.microsoft.com/en-us/download/details.aspx?id=13523

    Microsoft Visual C++ 2010 Redistributable Package (x86)

    http://www.microsoft.com/en-us/download/details.aspx?id=5555

    Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)

    http://www.microsoft.com/en-us/download/details.aspx?id=8328

    以上这些是不是全都要安装啊?!!!!!!

    如果是的话,那我能不能问微软:你们敢提供整合包吗?!!!一个包,包含以前的所有需要安装的支持库。

    ===========================================================

    另外,下面这三个是不是也要安装啊?

    Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update

    http://www.microsoft.com/en-us/download/details.aspx?id=14431

    Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package ATL Security Update

    http://www.microsoft.com/en-us/download/details.aspx?id=11895

    Microsoft Visual C++ 2010 Service Pack 1 Redistributable Package MFC Security Update

    http://www.microsoft.com/en-us/download/details.aspx?id=26999

    =======================================================================

    然后又看到了这几个运行环境,是不是玩游戏的话,基本上还要安装这一系列补丁(XNA)?还是只要安装一个最新的就可以?

    Microsoft XNA Framework Redistributable 3.1

    http://www.microsoft.com/en-us/download/details.aspx?id=15163

    Microsoft XNA Framework Redistributable 4.0

    http://www.microsoft.com/en-us/download/details.aspx?id=20914

    =======================================================================

    然后我再问一遍,微软敢把Direct X打成一个包,向下支持所有;把.NET Framework打成一个包,向下支持所有;把VC运行库打成一个包,向下支持所有吗?!!

    =======================================================================

    最后我想问,怎么样把以上所有需要打的补丁整合进windows 7 sp1 x64的ISO文件中,让我以后安装完系统不用再一个一个的来打补丁,很浪费时间的有没有,有没有!!


    2014年5月9日 15:03

答案

  • Windows 7 自带 DirectX 11。安装 DirectX 9 最终运行时可以补充一些 DirectX 9 文件以提升兼容性,但主版本还是 DirectX 11。

    .net Framework 不同的版本号 1.0、1.1、2.0、3.0、3.5、4.0、4.5 是彼此独立的关闭,不能新旧取代。但每一个版本号的 SP 只需安装最高的即可。
    Windows 7 已经自带 .net Framework 3.5 及之前的版本,只需单独安装 4.5。


    Alexis Zhang

    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis

    推荐以 NNTP Bridge 桥接新闻组方式访问论坛。

    本帖是回复帖,原帖作者是楼上的 <planningall>;

    | 操作系统是:win-7-sp1-x64
    | 平时用的软件非常杂,各种各样的软件,各个时期编写的都有。

    2014年5月10日 5:12
    版主
  • 每个年份的版本号安装其最新的版本就可以。


    Alexis Zhang

    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis

    推荐以 NNTP Bridge 桥接新闻组方式访问论坛。

    本帖是回复帖,原帖作者是楼上的 <planningall>;

    | 这样说我就很清楚了,那么请问在主贴中提到的vc 2005,2008,2010,以及相应的sp1,以及相应的x86和x64,总计12种,需要安装哪些?还是全部需要安装?两种XNA framework是否需要安装?

    2014年5月12日 2:10
    版主
  • 是的。不过我记得好像 64 位版包含 32 位组件,不确定你试一下。


    Alexis Zhang

    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis

    推荐以 NNTP Bridge 桥接新闻组方式访问论坛。

    本帖是回复帖,原帖作者是楼上的 <planningall>;

    | 也就是每个vc都装相应的sp1(如果有sp的话)就可以了是吗?但是x64和x86,也还是都要装的对不对?
    | 也就是装vc2005 2008 2010sp1的x64和x86,共计六个库。

    2014年5月14日 1:51
    版主

全部回复

  • 一个都不需要装。一个干净的系统上不会有需要这些组件的程序,所以也不会有这些组件。

    所有依赖于这些组件的程序,都必须在安装程序中安装自己依赖的组件,因为这些程序不能假定自己依赖的组件在系统中已经存在,原因见上。

    这些组件不是系统补丁,也没有向上或者向下的版本兼容性,应该按需安装,盲目安装是浪费时间和硬盘空间的行为。



    Visual C++ MVP

    2014年5月10日 3:18
    版主
  • 话虽然是这样说,但是实际中这是完全不可能的。一个干净的系统里面确实没有这些东西,但是各种各样的程序都会依赖这些东西。

    而且“所有依赖于这些组件的程序,都必须在安装程序中安装自己依赖的组件,因为这些程序不能假定自己依赖的组件在系统中已经存在”,这句话是微软要求所有的程序员遵守的吧,但是就算是不遵守,也没人来执法啊。

    这就好像咱们都知道“为人民服务”是公务员都该遵守的,但是就算不遵守,公民怎么办?所以你不能说因为有“为人民服务”的口号,个人用户就不用关心公务员操守了,因为有“为人民服务”的编程规范啊。(“程序必须自带所依赖的组件”的口号)

    在真正的使用环境下,真正会发生的情况就是,各种用了.net framework,用了各种VC++库,用了各种DirectX库编写的程序游戏都没有自带这些依赖的组件,而且假定用户系统中已经安装了所依赖的组件,如果没有这些组件怎么样?程序不能运行、各种代码的报错,什么0x0000efwf之类的,各种缺少什么d3dxxx.dll,xxxxx.dll,各种连接错误,各种需要这个需要那个!

    如果每次安装或使用程序的时候,根据各种错误提示去解决问题,去按需安装以上的各种各样的混乱的、分散的、碎片化的组件,才是真正的浪费时间。(不怕浪费硬盘空间,现在硬盘多便宜啊)

    其实我这个帖子中的问题,更直接的回答是告诉我这样一个普通用户,以上这些支持库的包含关系、依赖关系、版本兼容性。我在每一部分中,都问了明确的问题。

    2014年5月10日 4:18
  • 你应该找那些不自带这些组件的安装程序的作者去反映问题。这是安装程序的bug,而且是非常非常大的一个,在干净系统上装完不能运行,说明这个公司对软件不负责,连这样基本的测试都不做。虽然这不违反法律,但是这样的软件会降低作者的声誉,造成软件卖不出去。

    这些组件之间没有包含、依赖关系或者版本兼容性。每个组件的每个版本都独一无二无可替代。一个程序可能用到的组件不仅仅是微软的,世界上有非常非常多的组件,我个人就写了不下上百个,要求用户自行测试哪个软件依赖于哪个组件是非常没有道理的事情,这是作者的责任,即使作者使用的是我的组件,我也不会试图去反向工程作者的产品来判断作者到底用到的是哪个组件的哪个版本,因为这是浪费时间。

    安装微软提供的组件通常并不能解决依赖性问题,因为程序缺少的一般是其他的组件。要确保程序可以在你的计算机上运行的正确途径,是要求软件作者测试自己的安装程序,确保所有用到的组件都已经打包好了。

    即使一个程序的所有组件都已经安装,这并不代表程序就完美无缺,或者不被其他程序(例如360安全卫士这样经常误报的程序)干扰。你碰到各种不能运行、报错的时候,应该联系程序作者以解决问题,不要想当然认为是缺少文件所致。



    Visual C++ MVP




    2014年5月10日 4:43
    版主
  • Windows 7 自带 DirectX 11。安装 DirectX 9 最终运行时可以补充一些 DirectX 9 文件以提升兼容性,但主版本还是 DirectX 11。

    .net Framework 不同的版本号 1.0、1.1、2.0、3.0、3.5、4.0、4.5 是彼此独立的关闭,不能新旧取代。但每一个版本号的 SP 只需安装最高的即可。
    Windows 7 已经自带 .net Framework 3.5 及之前的版本,只需单独安装 4.5。


    Alexis Zhang

    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis

    推荐以 NNTP Bridge 桥接新闻组方式访问论坛。

    本帖是回复帖,原帖作者是楼上的 <planningall>;

    | 操作系统是:win-7-sp1-x64
    | 平时用的软件非常杂,各种各样的软件,各个时期编写的都有。

    2014年5月10日 5:12
    版主
  • 这样说我就很清楚了,装了windows 7后,我还需要装:

    DirectX 9.0c End-User Runtime

    适用于 Windows 7 SP1的 Microsoft .NET Framework 4.5.1(脱机安装程序)

    ======================================================================

    那么请问在主贴中提到的vc 2005,2008,2010,以及相应的sp1,以及相应的x86和x64,总计12种,需要安装哪些?还是全部需要安装?两种XNA framework是否需要安装?

    2014年5月11日 4:32
  • 每个年份的版本号安装其最新的版本就可以。


    Alexis Zhang

    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis

    推荐以 NNTP Bridge 桥接新闻组方式访问论坛。

    本帖是回复帖,原帖作者是楼上的 <planningall>;

    | 这样说我就很清楚了,那么请问在主贴中提到的vc 2005,2008,2010,以及相应的sp1,以及相应的x86和x64,总计12种,需要安装哪些?还是全部需要安装?两种XNA framework是否需要安装?

    2014年5月12日 2:10
    版主
  • 也就是每个vc都装相应的sp1(如果有sp的话)就可以了是吗?但是x64和x86,也还是都要装的对不对?

    也就是装vc2005 2008 2010sp1的x64和x86,共计六个库。刚才又看到vc 2012和vc2013都出来了,碰上用这两个软件编写的程序,估计还要装新的运行库是不是?

    比如对vc2008来说,这个就是最新的是不是:

    Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package MFC 安全更新

    http://www.microsoft.com/zh-cn/download/details.aspx?id=26368

    2014年5月12日 7:27
  • 是的。不过我记得好像 64 位版包含 32 位组件,不确定你试一下。


    Alexis Zhang

    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis

    推荐以 NNTP Bridge 桥接新闻组方式访问论坛。

    本帖是回复帖,原帖作者是楼上的 <planningall>;

    | 也就是每个vc都装相应的sp1(如果有sp的话)就可以了是吗?但是x64和x86,也还是都要装的对不对?
    | 也就是装vc2005 2008 2010sp1的x64和x86,共计六个库。

    2014年5月14日 1:51
    版主
  • 感谢Alexis Zhang
    2014年5月15日 6:51
  • 不客气。你安装好了吗?


    Alexis Zhang

    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis

    推荐以 NNTP Bridge 桥接新闻组方式访问论坛。

    本帖是回复帖,原帖作者是楼上的 <planningall>;

    | 感谢Alexis Zhang
    |

    2014年5月16日 2:58
    版主