錯誤訊息或存取損毀之後安裝安全性更新 MS16-004

徵狀

套用安全性更新 2881067、 2881029、 3039794,或 2920727 中所述的資訊安全佈告欄 MS16-004 之後,您會有問題會影響您的 Access 資料庫,如果您使用特定 Windows 通用控制項。 具體而言,如果您使用與 MSCOMCTL 相關聯的控制項,就會發生這些問題。OCX 更新的安全性更新中的檔案。 這些問題可能包括以下內容:

  • 當您嘗試開啟物件,其中包含下列其中一個控制項時,程式發生當機。

  • 您會收到錯誤訊息,指出已取消事件。 範例錯誤訊息包含 (但不限於) 下列:

    Error 459: Object or class does not support the set of events. 
    
    2501: <EventName> action cancelled.
    
    The expression <EventName> you entered as the event property setting produced the following error: Object of class does not support the set of events.   
    

原因

安全性更新 MS16-004 可能阻止載入正確內已存在的 Access 資料庫或設計檢視中的某些 ActiveX 控制項,就會發生這個問題。

解決方案

若要修正這個問題,請重新登錄 MSCOMCTL。OCX 檔案。 如果方法 1 無法解決問題,您可能必須先手動刪除 MSCOMCTL 與相關聯的登錄機碼使用方法 2。OCX。

方法 1: 重新註冊 MSCOMCTL。OCX 從提升權限的命令提示字元

若要重新註冊 MSCOMCTL。OCX,請遵循下列步驟:

  1. 開啟 [系統管理命令提示字元]。

  2. 在 64 位元系統上,執行下列命令:

     Regsvr32 /u "C:\Windows\SysWOW64\MSCOMCTL.OCX" Regsvr32 "C:\Windows\SysWOW64\MSCOMCTL.OCX"
    
  3. 在 32 位元系統上,執行下列命令:

     Regsvr32 /u "C:\Windows\System32\MSCOMCTL.OCX" Regsvr32 "C:\Windows\System32\MSCOMCTL.OCX"
    

方法 2: 手動更新登錄

注意

謹慎地遵循本節中的步驟。 如果您不正確地修改登錄,可能會發生嚴重問題。 之前您修改它,備份來還原登錄,以防發生問題。

  1. 結束所有 Office 程式。

  2. 按一下 [開始]開始搜尋] 方塊中,, 輸入 regedit,然後按一下 [確定]

  3. 在 「 登錄編輯程式中,找出並刪除下列 2.0 的子機碼:

    HKEY_CLASSES_ROOT\TypeLib{831FDD16-0C5C-11D2-A9FC-0000F8754DA1} \2.0

  4. 在方法中執行步驟 1-3。

(適用於系統管理員) 的方法 3: 執行批次檔,以自動更新系統

注意

謹慎地遵循本節中的步驟。 如果您不正確地修改登錄,可能會發生嚴重問題。 之前您修改它,備份來還原登錄,以防發生問題。

成功地判斷這個問題的修正您的環境中使用方法 1 和 2 之後,您可以自動化程序。 若要這樣做,請執行下列步驟:

  1. 建立文字檔,並再中貼上下列文字:

    reg delete hkcr\typelib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}\2.0 /f
    
    if exist %systemroot%\SysWOW64\cscript.exe goto 64 
    %systemroot%\system32\regsvr32 /u mscomctl.ocx
    %systemroot%\system32\regsvr32 mscomctl.ocx
    exit
    
    :64
    %systemroot%\sysWOW64\regsvr32 /u mscomctl.ocx
    %systemroot%\sysWOW64\regsvr32 mscomctl.ocx 
    Exit
    
  2. 儲存檔案。

  3. 從.txt 若要變更檔案的副檔名。 批次。

  4. 執行.bat 檔案。 若要這麼做,請以滑鼠右鍵按一下,,然後按一下 [以管理員身分執行。 (在 Windows XP 中,連按兩下檔案)。

注意

如果您已決定您不必刪除登錄機碼中所述方法 2,以使用您應用程式的方法 1 中,您可以移除批次檔案來 「 reg 刪除 」 列。

詳細資訊

MSCOMCTL 相關聯的控制項。OCX 詳列於 [插入 ActiveX 控制項] 對話方塊,如下所示:

Microsoft ImageComboBox 控制項 6.0 (SP6)

Microsoft 的 ImageList 控制項 6.0 (SP6)

Microsoft 在清單檢視控制項 6.0 (SP6)

Microsoft 進度列控制項 6.0 (SP6)

Microsoft 滑動軸控制 6.0 (SP6)

Microsoft StatusBar 控制項 6.0 (SP6)

Microsoft TabStrip 控制項 6.0 (SP6)

Microsoft 工具列控制項 6.0 (SP6)

Microsoft TreeView 控制項 6.0 (SP6)

注意

版本號碼和 service pack 層級可能 「 6.0 (SP6) 」 以外的項目。

問題也會發生在其他 Office 產品之後已安裝此更新,雖然徵狀可能會有所不同,就會發生在 Access 中報告。 在其他程式中,您可能不需要在登錄中進行任何變更。

參考資料

如需此安全性更新的詳細資訊,請參閱下列 Microsoft 知識庫文章: