關於DrCom上網客戶端與Apache衝突的問題解決方法(更新)

WinXP SP2DrCom上網客戶端與Apache衝突:

WinXP SP2Apache表現爲佔用3080%的CPU,不提供服務,狂寫錯誤文件。
錯誤報告:

(OS 10022)提供了一個無效的參數。  : Child 908: setup_inherited_listeners(), WSASocket failed to open the inherited socket.

網上的解決方法多爲在TCP/IP中取消LMHOSTS,有效!但是點擊DrCom上網客戶端,就會要求重啓,之後故障依舊。

經監控DrCom上網客戶端安裝過程

發現:

安裝Drcom前後修改了註冊表兩處重要位置:

HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/WinSock2/Parameters/
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/WinSock2/Parameters/

基本思路:

關機時導入沒裝DrCOM時的註冊表並且寫入成功關機文件;開機Apache以服務啓動後如果關機時寫入的文件存在則導入DrCOM安裝後的的註冊表。文件不存在表示非正常關機,立即重啓。(寫入文件是爲了防止非正常關機時未導入original .reg

做法:

分別導出Drcom安裝前後修改的兩處註冊表項original .regDrcom.reg。然後在gpedit.msc加入:

關機腳本

*1.bat 內容

@echo off

regedit /s C:/*/original .reg

echo shutdown_well >> C:/*/shut.succ

開機腳本

*2.bat 內容

@echo off

if not exist C:/*/shut.succ shutdown -r -t 6 -c "由於前次的非正常關機,系統必須立即重啓"

ping 127.0.0.1 -n 25

if exist C:/*/shut.succ regedit /s C:/*/Drcom.reg

if exist C:/*/shut.succ del /s C:/*/shut.succ

注意:以上文件要放再同一文件夾下。由於ApacheSP2也又衝突,所以要在TCP/IP中關閉LMHOSTS查詢。(ping 127.0.0.1 -n 25是爲了延時25秒,可以更具你的機器的具體狀況設置)

然後Apache就可以做爲服務啓動了。而且不會產生錯誤報告。DrCom上網客戶端也完全正常。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章