四月 07 2017

全新Exchange 2010 SP3安裝Rollup更新失敗事件

分類:Servers

Install Exchange 2010 SP3 Rollup Fail

執行專案前,我習慣先在自己的Hyper-V 測試環境模擬佈建,好增加佈建速度、熟悉度與減少現場的錯誤發生。以手邊預備進行的 Exchange 2010 佈建來說,最高可以安裝在 Windows Server 2012 上,所以在確定 Windows Server 2012 已完成 Windows  Update 後,就開始進行 Exchange 2010 with SP3 的安裝。前面過程都算順利,直到....準備從 SP3 直接跳到最新的 Rollup 時,會失敗無法完成安裝。

大約描述測試環境
DC: Windows Server 2008 R2
網域及樹系功能等級: Windows Server 2003
Exchange 2010 with SP3 虛擬機器:
Windows Server 2012 含完整 Windows Update
Hyper-V 2012 R2 第一代虛擬機器含最新整合服務 (6.3.9600.18398)
無安裝任何第三方軟體與防毒

以目前最新的 Exchange 2010 SP3 Rollup 17 為例,在進行安裝 Rollup 過程,會出現兩次 PowerShell 停止運作的錯誤,最後就是告知無法完成
Install Exchange 2010 SP3 Rollup with PowerShell FailInstall Exchange 2010 SP3 Rollup with PowerShell Fail 2

從事件檢視器的應用程式去查 Rollup 安裝記錄,可以找到一個事件識別碼為 1024 的錯誤,其中內容有提到錯誤碼 1603。
Install Exchange 2010 SP3 Rollup with Event 1024 and Error 1063 Code

有了這個訊息,似乎除錯方向也有了,很快找到微軟的 KB981474 文件提及此事件,但...怎樣參考文件去設定 PowerShell 執行原則,依舊會得到錯誤訊息與安裝失敗。 /^o)/

花了許多時間及方法測試,甚至連有人建議關 UAC 再更新也無效。本來在專案啟動會議時,向客戶提及此問題,可能要放棄 Exchange 2010 安裝在 Windows Server 2012,改安裝回 Windows Server 2008 R2 (已安裝測試無相同狀況)。但客戶還是希望我們再測試確認,於是這幾天就帶著重感冒及醫生的感冒藥下,繼續搜尋可能的解決方法。

看來感冒藥真的有效 (!?),這次竟意外在 EXPTA 部落格找到這篇文章 - Exchange 2010 SP2 Roll Up 4 Does Not Install - Error Code 1603 ,其中提到: 「I finally resolved it by renaming the ManageScheduledTask.ps1 script to ManageScheduledTask.old and creating a new empty ManageScheduledTask.ps1 script.

這才發現,我嘗試手動執行 ManageScheduledTask.ps1 會出現與原作者在 Log 中的錯誤
Exchange ManageScheduledTask.ps1 Error

但檢查我的 Rollup 更新 Log 卻沒有類似錯誤,還是決定參考文中說明手動建一個假的「ManageScheduledTask.ps1 」。果然,這方法依舊更新失敗。

繼續看該文的網友回覆,發現有人說道: 「However, your guidance pointed me in the right direction - after enabling logging and searching the log file for error 1603, I found the same issue with \Exchange Server\V14\Bin\ServiceControl.ps1. Renamed/replaced it, ran the installer again and it worked! Thanks again - you have probably saved me a whole Sunday morning of frustration!」

於是,參考網友回覆,同樣做了一個假的「ServiceControl.ps1」,接著執行 Rollup 更新
Rename Exchange ServiceControl.ps1

沒想到,真的正常執行安裝了
/:|/ 這是什麼巫術!!!
Install Exchange 2010 SP3 Rollup Success

連那個假的「ServiceControl.ps1」,也一併被更新為正常的檔案
New ServiceControl.ps1

與舊的 ServiceControl.ps1 做比較
Compare ServiceControl.ps1

最後確實完成 Rollup 更新
Install Exchange 2010 SP3 Rollup Complete

Success Install Exchange 2010 SP3 Rollup

其實就我們在做的顧問服務來說,會希望客戶能盡量用新版本,不要再繼續使用 Exchange 2010,甚至就轉上雲端。但畢竟客戶有其考量,我們也尊重選擇。不過值得高興的是,客戶有聽取規劃建議,為這次的專案購置全新硬體及儲存設備,導入虛擬化作建置基礎,這點就值得給予掌聲了。

[20170424 更新] 測試從 Exchange 2010 SP3 with Windows Serve 2012,先用此法升級到 RU16,再從 RU16 要安裝 RU 17,仍必須採用文中的方法才能完成安裝

目前有 3 個回應 , 標籤:


目前有 3 個回應

  1. Jay 說道:

    感謝分享,真的這樣就搞定了,否則我都要先切換預設語系為英文,更新完RU後再切換回中文.

  2. Morton 說道:

    HI Aska:

    現在已經2020年了,結果上述方法還是有效!感謝您!
    我是幫客戶換MBX角色的設備,exchange 2010 SP3 + RU27

    Morton @MS

  3. Mark 說道:

    Lab環境Exchange 2010 SP3 升到 RU32 上面的方法還是有效 XD
    也太神奇了,哈

發表迴響

*