Aktualizacja zabezpieczeń MS12-060 upośledza funkcjonalność bazy danych dostępu

Symptomy

Po zastosowaniu aktualizacji zabezpieczeń MS12-060 mogą wystąpić problemy z bazą danych programu Access, jeśli używasz dowolnej z typowych kontrolek systemu Windows skojarzonych z mscomctl. Plik OCX zaktualizowany w poprawce. Problemy mogą obejmować zawieszanie się podczas otwierania obiektu zawierającego jedną z kontrolek lub komunikaty o błędach wskazujące, że zdarzenia zostały anulowane. Przykładowe komunikaty o błędach mogą obejmować (ale nie są ograniczone) następujące elementy:

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.

Przyczyna

Aktualizacja zabezpieczeń MS12--060 może spowodować, że niektóre kontrolki ActiveX nie będą prawidłowo ładowane w istniejących bazach danych programu Access i podczas wstawiania kontrolek w widoku projektu.

Rozwiązanie

Metoda 1. Zastosuj poprawkę z odpowiedniego linku poniżej:

Pakiet Office 2010: https://support.microsoft.com/kb/2597986

Office 2003: https://support.microsoft.com/kb/2687323

Metoda 2. Ponowne rejestrowanie biblioteki MSCOMCTL. OCX z wiersza polecenia z podwyższonym poziomem uprawnień

  1. Otwórz wiersz polecenia z podwyższonym poziomem uprawnień.

  2. Jeśli pracujesz w systemie 64-bitowym, wykonaj następujące dwa polecenia:

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

    Regsvr32 "C:\Windows\SysWOW64\MSCOMCTL. OCX"

  3. Jeśli pracujesz w systemie 32-bitowym, wykonaj następujące polecenia:

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

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

Metoda 3. Ręczne aktualizowanie rejestru

W niektórych przypadkach rejestrowanie i wyrejestrowanie biblioteki MSCOMCTL. OCX z podwyższonym poziomem uprawnień nie wystarczy, aby rozwiązać problem w bazie danych. W takich sytuacjach ręczne usunięcie klucza rejestru skojarzonego z mscomctl. OCX może być konieczne.

Ważna

W tej sekcji, metodzie lub w tym zadaniu podano informacje dotyczące modyfikowania rejestru. Niepoprawne zmodyfikowanie rejestru może jednak być przyczyną poważnych problemów. Dlatego należy uważnie wykonywać podane czynności. Dla większego bezpieczeństwa przed zmodyfikowaniem rejestru należy wykonać jego kopię zapasową. Dzięki temu będzie można przywrócić rejestr w przypadku wystąpienia problemu. Aby uzyskać więcej informacji na temat tworzenia kopii zapasowej i przywracania rejestru, zobacz Jak utworzyć kopię zapasową i przywrócić rejestr w systemie Windows

  1. Zamknij wszystkie programy pakietu Office.

  2. Kliknij przycisk Start, a następnie uruchom.

  3. W polu Otwórz wpisz "regedit" (bez cudzysłowów) i kliknij przycisk OK.

  4. Przejdź do rejestru i usuń następujący klucz 2.0 z rejestru:

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

  5. Uruchom kroki 1–3 z metody 1 powyżej.

Metoda 4. Wykonywanie pliku wsadowego w celu automatycznej aktualizacji systemu

UWAGA: Przed wykonaniem tych kroków zaleca się utworzenie kopii zapasowej rejestru.

  1. Utwórz nowy plik tekstowy i skopiuj i wklej do niego następujące elementy:

    reg delete hkcr\typelib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}\2.0 /f

    jeśli istnieje %systemroot%\SysWOW64\cscript.exe goto 64

    %systemroot%\system32\regsvr32 /u mscomctl.ocx

    %systemroot%\system32\regsvr32 mscomctl.ocx

    Wyjścia

    :64

    %systemroot%\sysWOW64\regsvr32 /u mscomctl.ocx

    %systemroot%\sysWOW64\regsvr32 mscomctl.ocx

    Wyjścia

  2. Zapisz plik.

  3. Zmień rozszerzenie pliku z .TXT na .BAT.

  4. Uruchom plik .BAT, klikając go prawym przyciskiem myszy i wybierając pozycję "Uruchom jako administrator" (użytkownicy xp mogą po prostu kliknąć dwukrotnie, aby uruchomić plik).

UWAGA: Wiersz usuwania reg można usunąć z pliku wsadowego, jeśli okaże się, że nie trzeba usuwać klucza rejestru wymienionego powyżej, aby aplikacja działała.

Więcej informacji

Kontrolki skojarzone z mscomctl. OCX są wymienione w oknie dialogowym Wstawianie kontrolki ActiveX jako:

Microsoft ImageComboBox Control 6.0 (SP6)

Microsoft ImageList Control 6.0 (SP6)

Microsoft ListView Control 6.0 (SP6)

Microsoft ProgressBar Control 6.0 (SP6)

Microsoft Slider Control 6.0 (SP6)

Microsoft StatusBar Control 6.0 (SP6)

Microsoft TabStrip Control 6.0 (SP6)

Microsoft Toolbar Control 6.0 (SP6)

Microsoft TreeView Control 6.0 (SP6)

Uwaga: numer wersji i poziom dodatku Service Pack mogą być inne niż "6.0 (SP6)".

Problemy pojawiły się również w innych produktach pakietu Office po dodaniu poprawki, chociaż objawy mogą być inne niż te widoczne w programie Access. Usunięcie klucza rejestru, jak wspomniano powyżej, może nie być konieczne do rozwiązania problemów w tych przypadkach.

Zobacz następujące artykuły KB, aby uzyskać więcej informacji na temat aktualizacji zabezpieczeń: