2013-6-26 king9413。
版權(quán)聲明:可以任意轉(zhuǎn)載,但轉(zhuǎn)載時(shí)必須標(biāo)明原作者king9413,原始鏈接以及本聲明
情況:
近日,執(zhí)行一vbs例子程序時(shí)出現(xiàn):80040111錯(cuò)誤:ClassFactory無法供應(yīng)請(qǐng)求的類別(ClassFactory cannot supply requested class)。
由以下語句引起:
Set IE = WScript.CreateObject("InternetExplorer.Application")
奇怪的是,以前執(zhí)行此vbs是沒問題的,近日突然發(fā)生此問題。所有包含CreateObject("InternetExplorer.Application")的vbs都失敗。
解決過程:
網(wǎng)上查詢。但長(zhǎng)時(shí)間google與baidu后,通通語焉不詳,無法得到有用具體的解決方案。在Microsoft網(wǎng)站上查也一樣。
regsvr32重新注冊(cè)shdocvw.dll也是很正常。iexplore.exe也不像有損壞的痕跡。
使用工具檢查IE控件,清理了一些IE控件后,問題沒有解決。
只能仔細(xì)研究COM調(diào)用過程。
在研究注冊(cè)表:HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{0002DF01-0000-0000-C000-000000000046},突然發(fā)現(xiàn),子項(xiàng)不對(duì):
竟然同時(shí)有InProcServer32子項(xiàng)和LocalServer32子項(xiàng)。
InProcServer32子項(xiàng)值為"C:\\WINDOWS\\Downloaded Program Files\\dwa85W.dll"
LocalServer32子項(xiàng)值為"\"C:\\Program Files\\Internet Explorer\\iexplore.exe\""
一般的XP系統(tǒng)只有LocalServer32。
研究了下:dwa85W.dll是IBM Lotus iNote 8.5 control,也不是什么亂七八糟的東東。
難道是這個(gè)子項(xiàng)問題?刪去此項(xiàng)。vbs運(yùn)行成功!與此同時(shí),lotus運(yùn)行沒問題(莫名其妙)。
總結(jié):
出現(xiàn)80040111應(yīng)該是有很多原因。注冊(cè)表有問題應(yīng)該是關(guān)鍵。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。