微軟的 Windows 與 Office 都是可以把 service packs 及 hot-fixes 整合進安裝光碟的,Visual Studio 當然也是可以的。整合(Slipstreaming)的過程與整合 Microsoft Office 與 service packs 非常類似。

整合與燒錄光碟過程大約需要 10GB 的硬碟空間,以及至少兩個小時以上的執行時間

製作 VS 2005 的 administrative installation

首先必須先製作一份 Visual Studio 2005 的 administrative installation。假設你的光碟機代號是 F ,而欲將 administrative installation 安裝至名為 %adminstall% 的資料夾。打開命令提示字元,並在命令列執行

msiexec.exe /a F:\vs\vs_setup.msi TARGETDIR=%adminstall% /L*vx install.log

兩個打紅字的地方請注意,F 換成你的光碟機代號,%adminstall% 則換成欲安裝至位置包含磁碟機代號的完整路徑,執行完成後 %adminstall% 內大約會有 3GB 多的檔案。

下載並解壓縮 Service Pack 1

接著下載 Visual Studio 2005 Service Pack 1 並解壓縮。以命令列執行

VS80sp1-KB926601-X86-ENU.exe /extract %sp1%

其中 %sp1% 為解壓縮出來的檔案要放置的位置,也是建議使用完整路徑。這個步驟會解壓出名為 VS80sp1-KB926601-X86-ENU.msp 的檔案。這邊大概需要 1GB 磁碟空間。

整合 VS 2005 與 Service Pack

接下來準備整合 administrative installation 與 service pack 。在命令列輸入

%adminstall%\vs_setup.msi /p %sp1%\VS80sp1-KB926601-X86-ENU.msp /L*vx patch.log

%adminstall% 與 %sp1% 分別替換 administrative installation 與解壓縮後之 service pack 所在的路徑。整合過程需要的時間,差不多跟安裝一次 service pack 差不多。執行完畢後,%adminstall% 內就是我們要的 VS 2005 w/SP1 。

複製安裝程式與相關元件

整合完成後,Heath Stewart's Blog 中原本接下來的操作是:

將原先 Visual Studio 2005 安裝光碟中名為 \vs 的資料夾裡面,除了副檔名是 .cab 之外的所有資料夾與檔案,複製進整合好的 VS 2005 + SP1 內。複製過程中不要覆蓋任何檔案。

這個步驟是為了將原先安裝光碟中的安裝程式,以及必要的元件複製過來。

由於 \vs 資料夾與整合完成的 VS 2005 + SP1 中,有許多重複的資料夾名稱。複製過程中遇到相同名稱的資料夾時,若選擇「略過」,則資料夾內部的檔案並不會被確認和複製。因此必須一個一個檢視資料夾的內部,相當繁瑣。我採用另一種作法:

將安裝光碟中 \vs 資料夾內,除了副檔名是 .cab 之外的所有資料夾和檔案複製一份到硬碟。接著把整合完成的 VS 2005 + SP1 用「剪下-貼上」移動過來(不用複製以節省時間),移動過程中遇到相同的檔案選擇「全部取代」。

這樣就不用一個個檢查資料夾並複製檔案。

複製完成後,目錄內即為整合好可以安裝的 Visual Studio 2005 w/SP1 安裝程式。如果要燒成光碟片,把整合好可以安裝的 VS 2005 w/SP1 安裝程式資料夾的名稱更改為 vs ,並取代原先安裝光碟中的 \vs 資料夾即可。