今天遇到symantec的經典安裝提示“檢測到需要重新啟動的挂起系統更改。請重新啟動系統并重新運作安裝”,好吧,有官方文檔指導,我不怕。
使用 regedit.exe 打開 Windows 系統資料庫。
在以下位置搜尋系統資料庫項 PendingFileRenameOperations:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Session Manager
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\BackupRestore\KeysNotToRestore
如果找到該系統資料庫項,請先備份每個系統資料庫項,然後删除每個系統資料庫項中的項。
搜尋 RebootRequired 系統資料庫項:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired
如果找到該系統資料庫項,請先進行備份,然後将其删除。
重新啟動 SEP 安裝,安裝應完成且沒有錯誤。
對于新安裝,可能還需要删除以下系統資料庫項:
32 位作業系統:HKEY_LOCAL_MACHINE\SOFTWARE\Symantec_Installer
64 位作業系統:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Symantec_Installer
坑來了
按照操作執行了三遍,重新開機,仍然這個提示,好在官方文檔裡提到了日志檔案的内容,我看到這句有問題沒有檢測過去。這句檢測太多了,估計不隻是官方說的系統資料庫的檢測。
<font color='red' >(NOT ((LOADEDDRIVERSFOUND=11) OR PENDINGMODULEREMOVAL OR TEEFERPENDINGREBOOT)) OR MIGRATE OR NORTONFOUND OR NORTONAV OR NORTONAVPRO</font>
能不能跳過去呢?
開始繞過
- Sep64.msi 這類的安裝檔案包含了一些表結構,可以修改這些設定進而改變安裝包的邏輯或者參數。是以我嘗試使用可以修改MSI的軟體來完成繞過檢查。微軟的SDK工具包裡面提供了這個orca的工具。
- 在msi包上,右鍵選擇Open with orca ,然後左側找到Lauchcondition 表。找到兩行檢測需要重新啟動的挂起系統更改 的項目,選擇删除,當然也可以把條件改成能通過的
- 不要使用setup.exe來執行安裝,這個會進行軟體的完整性檢查,直接執行sep64.msi 進行安裝即可。
最後總結
- symantec之前的12版本不知道什麼原因直接沒有了,懷疑是版本更新時,删除舊的時可能出錯了,但新的裝不上(檢查條件裡還會檢查是否有sep存在)。