Visual Studio 2008 中文正式版可以從微軟網站下載試用了,因為之前用英文版感覺比2005快一些,雖然.NET Framework 3.5有點龐大,但還是可以選擇開發2.0的項目,因此打算立馬安裝。試用期為三個月,足夠長了,因此安裝Team System版本,體驗一下新特性。但是最擔心的事情還是發生了——無法安裝。
問題出在哪裡呢?我打算找出原因,試圖解決問題。
因為除Visual Studio本身以外,VS安裝過程中安裝的其他附帶安裝的組件,基本上都是有單獨安裝包的。先找到Visual Studio Web 創作組件的獨立安裝包,試試單獨安裝能不能成功。
果然,在安裝DVD的\WCU\WebDesignerCore檔案夾中找到了“Visual Studio Web 創作組件”的安裝程式。將其複製到硬碟上並解壓縮,可以發現該組件使用的是Office 2007的安裝方式,運行其中的setup.exe,出現與Office 2007相同的安裝程式介面。單擊“立即安裝”,結果出現找不到office.zh-cn檔案夾中檔案的對話方塊,選擇了安裝程式所在的正確位置並確定,又再一次彈出同樣的視窗,安裝無法繼續:
仔細核對檔案名稱,確定安裝資料夾中的確有需要的檔案,但為什麼還是提示找不到呢?
既然這個組件使用Office 2007的安裝方式,檔案夾中也有office.zh-cn這個和Office 2007共有的組件,那會不會是因為Office 2007的問題,導致Visual Studio Web 創作組件無法安裝呢?
開啟Vista中的“程式和功能”,選擇Office 2007,並單擊”更改“按鈕,在彈出的安裝程式介面中,選擇”修複“,並繼續,
果然不出所料,這時也出現了同樣的找不到安裝檔案的對話方塊,基本確定是因為Office 2007的問題導致Visual Studio 安裝失敗。
這時想起來,在安裝Office時,安裝程式預設情況下會將安裝檔案快取在系統磁碟分割的隱藏檔案夾MSOCache中,安裝完成後並不會將其刪除。由於這個檔案夾實在是太大了,平常用Office其實並不需要它,因此安裝完Office之後就手動將其刪除了,而在修複Office組件時,需要訪問MSOCache檔案夾中的安裝檔案,所以就出現了以上問題。以往的經驗是,已刪除MSOCache檔案夾時,可以放入Office原來的安裝光碟片,即可順利修複。
於是直接放入Office 2007的安裝光碟片,在彈出尋找檔案的對話方塊時,指向安裝盤中office.zh-cn檔案夾所在的位置(一般是光碟機根目錄),Office 2007被成功修複,這時再安裝Visual Studio Web 創作組件,也順利的安裝上了:
接下來啟動Visua Studio 2008安裝程式,也順利的安裝,沒有再遇到問題。安裝完成後可以再次刪除安裝Visual Studio Web 創作組件時緩衝下來的MSOCache檔案夾(注意是隱藏檔案夾)。
至此終於找到原因,原來是因為Office 2007的安裝源緩衝MSOCache檔案夾被使用者刪除導致的。只要找到Office 2007的安裝檔案,即可順利安裝Visual Studio Web 創作組件。
最後還要考慮一個問題,為什麼指向Visual Studio Web 創作組件安裝程式中的office.zh-cn檔案夾無法通過驗證,而Office 2007安裝盤中的office.zh-cn檔案就可以呢?對比兩個檔案夾發現,其中只有OfficeLR.cab、officemui.msi、officemui.xml三個檔案不同,而前兩個主要檔案,僅僅是數位簽章日期不同。可能是由於系統中已經安裝了Office 2007,而記錄了這些安裝程式的雜湊值,安裝程式只承認Office 2007的安裝檔案版本,而不接受其他的版本。