#症状
MS Access のフォームに TreeView や ListView などの MSCOMCTL.OCX に由来するコントロールを使用しているとき、7月のアップデート後に異常終了してしまう。
#解決
MS Officeをダウングレードする。
参考リンクの1番より、安全なバージョンは 16.0.11629.20246 なので、管理者権限付きのコマンドプロンプトをひらいて以下の様に入力する。
cd %programfiles%\Common Files\Microsoft Shared\ClickToRun
officec2rclient.exe /update user updatetoversion=16.0.11629.20246
ダウングレードに成功したら、Officeの自動更新オプションを禁止にしておく。
##参考リンク
- Forms with ActiveX controls cause Exception 0xc0000374 since at least 16.0.11727.20118
- Error messages or Access crashes after you install security update MS16-004
- How to downgrade Office 365?
#概要
ふと魔が差してしまって2019年7月にMicrosoft Office365の更新をしてしまう。しばらく更新しないようにしていたのだがその時はなぜそのような設定をしていたのか理由を忘れてしまっていた。これが悪夢の始まりだった。
Accessで作った自作のソフトを20年ほど前から仕事に使用しているのだが、アップデート後いつものフォームを開いたところ、すぐに終了してしまう。タイミングはバラバラでフォームを開けた途端落ちることもあれば、しばらくたってからのこともある。
イベントログを確認すると ntdll.dll でヒープエラーが出ている模様。
障害が発生しているアプリケーション名: MSACCESS.EXE、バージョン: 16.0.11727.20244、タイム スタンプ: 0x5d173402
障害が発生しているモジュール名: ntdll.dll、バージョン: 10.0.18362.207、タイム スタンプ: 0xc5943461
例外コード: 0xc0000374
障害オフセット: 0x00000000000f9269
障害が発生しているプロセス ID: 0x1bb4
障害が発生しているアプリケーションの開始時刻: 0x01d542c10f63f087
障害が発生しているアプリケーション パス: C:\Program Files\Microsoft Office\Root\Office16\MSACCESS.EXE
障害が発生しているモジュール パス: C:\WINDOWS\SYSTEM32\ntdll.dll
レポート ID: f86ec508-ea3f-49fb-9de7-431a334c49e6
障害が発生しているパッケージの完全な名前:
障害が発生しているパッケージに関連するアプリケーション ID:
確か何年か前に似たような症状が出たのを思い出した。その時もアップデート後の不具合と原因はMSCOMCTL.OCXがらみだった。
前回は、何とかしようと思い、できなくて、知らないうちに解決されていた。今回はもっと詳しく調べて見たがネット検索でもヒットせず、もしかして自分だけの問題かもとクリーンインストールを視野にいていたら7月半ばになっていろいろとネット上に情報が出てきました。それで今回の問題は姑息的ではあるが解決にいたったのでしたが、日本語の情報は全くありませんでした。皆さんAcvtiveXコントロールはもう使用されていないのでしょうか?
今回ネットを検索しても数年前の記事ばかりで解決法も分からず、しばらくAccessは使用できずにいた。ここにきてかなり私の仕事はAccessに依存していることに気がついた。今後も十分起こりえることなのでもっと安定したシステムを構築すべきだと思わされました。
最近アップデート後が非常に不安定でOSもソフトも使用するにあたってどこか不安感を覚える。今まで使っていたMS-DOSからWin7まではこんな感情を抱くことはありませんでした。ユーザを利用してバグ修正を行うのではなく、Microsoftにはもっと検証してからアップデートを配布していただきたい。