我第一次安裝這個補丁的時候就掛了,搞得VS2005和相關(guān)的一些程序都不能運行,后來在網(wǎng)上找到了一些解決方法,結(jié)合自己的實際體驗,寫了這篇教程。
補丁相關(guān)資料:
簡體中文版補丁名稱:VS80sp1-KB926604-X86-CHS.exe
版本: 50727.762
知識庫 (KB) 文章: KB928957
發(fā)布日期: 2006/12/14
簡體中文版補丁大小:430.9 MB
簡體中文版補丁下載地址:
http://download.microsoft.com/download/8/0/7/8071514d-9370-45c3-8af1-4ff09a70e59d/VS80sp1-KB926604-X86-CHS.exe
官方建議安裝時硬盤空間至少為: 6.2GB
安裝完成且清理臨時文件后空間約減少:500MB左右
SP1的安裝過程到剖析:
以下內(nèi)容引用自http://blog.joycode.com/jiangsheng
1. 解壓到%temp%\臨時目錄(對于我的Visual Studio 2005 Team System,這需要C:\Documents and Settings\Administrator\Local Settings\Temp下面1個多GB的空間)
2. 把自己復(fù)制到%temp%下(400多MB)
3. 把自己復(fù)制到%windows%\Installer下(C:\Windows Installer下400多MB)
4. 解壓到%windows%\Installer\PatchCache(1個多GB)
5. 安裝過程中還會生成臨時文件(C:\Config.msi和%temp%下面的日志文件)。
安裝注意事項:
1. 安裝時間會非常長,看到很多網(wǎng)友說如果機器配置不是很高達(dá)到了3小時,一般的話也需要1個小時左右。我的本本配置比較高,用了不到半個小時就裝完了。
2. 安裝前檢查你的C盤是否有大于6G的空余空間,這是官方要求的數(shù)字。但也有人只有不到2G也順利安裝了,這主要取決VS自定義安裝的多少。據(jù)聞是最占空間的是VC,如果沒有VC完全用不了2G。但由于我裝VS2005就是為了用VC,所以這點沒有實踐證明過。較保險的方法是把環(huán)境變量temp和tmp ,虛擬內(nèi)存都定位到其它盤上,以騰出空間。
3. 如果你以前安裝過web application project,在安裝vs2005 sp1以前請先把他卸載,否則可能會安裝失敗。
4. vs2005sp1的補丁包是把你機器上所有單獨裝過vs2005的版本的補丁都打上,如果機器上同時裝了Visual Web Developer Express和Visual Studio team sutie,那么他就要運行安裝補丁兩次。
安裝過程常見問題:
1. 數(shù)字簽名認(rèn)證的問題
當(dāng)您嘗試運行 Microsoft Windows Server 2003 或 Microsoft Windows XP, 計算機上安裝大 MicrosoftWindowsInstaller .msi) 程序包或大型 MicrosoftWindowsInstaller 修補程序 (.msp) 程序包您可能會收到以下錯誤信息:
錯誤 1718。 (FileName)文件被數(shù)字簽名策略拒絕。
2. C盤空間的問題
提示C盤空間不足,不能成功安裝SP1,錯誤代碼2908。
原因1:Windows Installer設(shè)計的一個特性是可以驗證文件的數(shù)字簽名。但是這次的補丁太大了,要驗證簽名的話基本上把內(nèi)存都吃光了(要1GB左右的內(nèi)存)。
原因2:Windows Installer設(shè)計的一個特性是會在C盤生成一個$PatchCache$文件,把補的文件再存一遍,對于這次的補丁嘛,這個大約會消耗掉1.3GB的空間。
結(jié)論就是內(nèi)存不足、C盤空間不夠的系統(tǒng),如果直接安裝的話基本就掛了。
解決方案:
針對原因1:
參考鏈接:http://support.microsoft.com/kb/925336
解決數(shù)字簽名認(rèn)證的問題步驟:
1. 單擊 開始單擊 運行 , 鍵入 控件 secpol.msc , 然后單擊確定 。
2. 打開“安全設(shè)置->軟件限制策略”。
注意如果列出“沒有軟件限制”,需要右鍵單擊“軟件限制策略”, 然后單擊“新建策略”。
3. 在“對象類型->強制”。
4. 點選“除本地管理員以外的所有用戶”, 并單擊“確定”。
5. 重新啟動計算機。
要點:之后在執(zhí)行以上步驟, 本地管理員可安裝 .msi 軟件包或 .msp 包。 通過以下以前步驟之后安裝程序包, 重置強制級別。 在步驟 5, 單擊 所有用戶 代替 除本地管理員以外的所有用戶。
針對原因2:不要直接打補丁,用下面的批處理:
reg export HKLM\Software\Policies\Microsoft\Windows\Installer installer.reg
reg add HKLM\Software\Policies\Microsoft\Windows\Installer /v MaxPatchCacheSize /t REG_DWORD /d 0 /f
net stop msiserver
start /wait VS80sp1-KB926604-X86-CHS.exe
reg delete HKLM\Software\Policies\Microsoft\Windows\Installer /v MaxPatchCacheSize /f
reg import installer.reg
net stop msiserver
del /q installer.reg 2>nul
將上面的保存為InstallVS2005SP1.bat,再執(zhí)行該文件以啟動安裝補丁,即可禁用緩存,記得這個文件要放在和補丁同一個目錄。
-mode: char; line-height: 120%">安裝失敗后的補救措施:
不能成功安裝SP1,錯誤代碼2908,然后VS2005就掛了,我是在第一次安裝SP1提示空間不足,然后再次安裝,空間還是不足時出現(xiàn)的。
以下這個是網(wǎng)友的經(jīng)歷:
VS 2005 SP1 Beta doesn`t want to install It happened to me as well with the release version of SP1.
我安裝這個版本的sp1時也出現(xiàn)了這個問題(指錯誤代碼:2908).不只是我的VS2005 Team System 掛掉了,而且.NET 2.0 Framework一樣不能使用,包括IIS和應(yīng)用程序,MSN也不能正常使用。我試著卸載vs2005,但是我再次安裝vs2005時,在安裝過程中又出現(xiàn)了一個錯誤。
這個是在網(wǎng)上找到的解決方法,其參考鏈接是一個英文論壇:
1. 刪除VS2005
2. 刪除.NET FRAMEWORK 2.0
3. 刪除%windir%\WinSxS\ 下的 Policies 文件夾
4. 安裝.NET Framework 2.0
5. 安裝VS2005 & SP1
實踐證明這個方法是可行的,不需要重裝系統(tǒng)。
這里補充以下,在卸載了VS2005后,有很多VS2005附帶的組件是沒有卸載的,那些組件都不需要卸載,之要卸載再卸載.NET FRAMEWORK 2.0就可以了。