查了很久,才確認是因為Windows Update(Office Update) 造成. 說人話就是微軟根本放棄VB6,遇到安全性問題更新時不考慮相容性.
詳情請參考: 錯誤訊息或存取當機事件之後您安裝安全性更新 MS16-004
上面連結裡已經有解法,但不見得完全正確。
文章裡的機碼
HKEY_CLASSES_ROOT\TypeLib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}\2.0可能太舊了,現在有2.1和2.2基本上全刪掉,重新註冊就會好。
32位元系統:
cd %systemroot%\system3264位元作業系統
%systemroot%\system32\regsvr32 /u mscomctl.ocx
%systemroot%\system32\regsvr32 mscomctl.ocx
cd C:\Windows\SysWOW64如果還沒好,死馬當活馬醫,可能是msdatsrc.tlb爛掉。可以去找 VS2005附的 regtlibv12.exe ,在.Net Framework裡。
%systemroot%\sysWOW64\regsvr32 /u mscomctl.ocx
%systemroot%\sysWOW64\regsvr32 mscomctl.ocx
32位元系統:
cd %systemroot%\system3264位元作業系統
regtlibv12.exe msdatsrc.tlb
cd C:\Windows\SysWOW64
regtlibv12.exe msdatsrc.tlb
若還是不行,把更新移除,裝回舊版的VB6元件重跑一次以上步驟, 應該就能正常使用。
沒有留言:
張貼留言