Mar 182011
 

地球上有很多軟件,有不少軟件每一個周期就會有更新,於是就必須每隔一定時間就要更新下自己電腦的軟件。一般來說,更新軟件不過就是下載一個新版本然後安裝上就OK了,新版的能夠做舊版能做的事情。不過有一個東西比較特殊,那就是Visual Studio的各種版本的Redistributable Package(亦被叫做「運行庫」)。舉個例子,Visual C++ 2010 SP1 Redistributable Package並不能代替Visual C++ 2005 Redistributable Package。

首先看看Visual Studio 2010 SP1 Redistributable Package的官方描述:

Microsoft Visual C++ 2010 SP1 Redistributable Package (x64) 安装 Visual C++ 库的运行时组件,使用户能够在未安装 Visual C++ 2010 SP1 的计算机上运行使用 Visual C++ 2010 SP1 开发的 64 位应用程序。

Microsoft Visual C++ 2010 SP1 Redistributable Package (x86) 安装 Visual C++ 库的运行时组件,使用户能够在未安装 Visual C++ 2010 SP1 的计算机上运行使用 Visual C++ 2010 SP1 开发的应用程序。

Microsoft Visual C++ 2010 SP1 可轉散發套件 (x64) 會安裝 Visual C++ 程式庫的執行階段元件,這樣在沒有安裝 Visual C++ 2010 SP1 的電腦上,也能執行以 Visual C++ 2010 SP1 開發的 64 位元應用程式。

Microsoft Visual C++ 2010 SP1 可轉散發套件 (x86) 會安裝 Visual C++ 程式庫的執行階段元件,這樣在沒有安裝 Visual C++ 2010 SP1 的電腦上,也能執行以 Visual C++ 2010 SP1 開發的應用程式。

要理解以上描述並不難,且聼慢慢道來。

我們平時用的Windows軟件有很多都是用微軟的Visual Studio開發而成的,而Visual Studio有多個不同版本,比如Visual Studio 2003、2005、2008、2010。一般而言,軟件在執行的時候都需要調用系統功能,而調用的代碼一般都是以DLL的方式存在,調用所需的DLL一般存在於Windows系統當中。

有一些開發工具製作出來的軟件爲了能夠在多種Windows系統中正常運行,會讓軟件使用自己的DLL,不過爲了減少生成的軟件的大小,大多數開發工具都不會將DLL集成到軟件當中(除非開發者手工配置),此時若要使用這些軟件的話就必須帶上特定的DLL了。對於Visual Studio來説也是一樣,如果要使用Visual Studio 2010開發出來的軟件,必須帶上Visual Studio 2010的特定DLL,但大多數用戶的電腦都不會有這個東西。爲了能夠正常使用這些軟件,那就要安裝Visual C++ 2010 Redistributable Package(以下簡稱Visual C++ 2010 RP)。

那麼,是不是Visual C++ 2010 RP能夠代替舊版(例如Visual C++ 2005 RP)呢?答案是否定的。每一版的Visual Studio生成的軟件代碼調用的DLL都是不一樣的,因此RP並不能夠混用。當然,例外還是有的,Visual C++ 2010 RP能夠被Visual C++ 2010 SP1 RP代替。

如果想要穩妥起見,應當安裝以下RP:

Visual C++ 2005 SP1 (x86) Redistributable Package
Visual C++ 2008 SP1 (x86) Redistributable Package
Visual C++ 2010 SP1 (x86) Redistributable Package

64-bit Windows則應當再安裝以下RP:

Visual C++ 2005 SP1 (x64) Redistributable Package
Visual C++ 2008 SP1(x64) Redistributable Package
Visual C++ 2010 SP1(x64) Redistributable Package

Sorry, the comment form is closed at this time.