SetPoint の「mfc90u.dll がない」エラー時に行った事

Logicool 製キーボードやマウスの操作をカスタマイズできるユーティリティソフト SetPoint が、PC 起動時に DLL のエラーを出すようになってしまいました。

目次
  1. 症状
  2. 環境
  3. 対処方法
  4. 試したこと
    1. SetPoint の再インストール
    2. Visual C++ 2008 同梱 DLL の確認
    3. mfc90u.dll を新たにダウンロード
    4. WinSxS フォルダの DLL を System32 に置くと……
  5. 参考

症状

SetPoint をインストールすると、スタートアップには「Logicool SetPoint Event Manager (UNICODE)」が登録され、PC 起動時に諸々の設定が反映されるのが正常動作なのですが、この読み込み時にシステムエラーが出て終了してしまう。

常にこうなるわけではありません。エラーが出ず、問題なく動作することもあります。正常だったり異常だったりするという異常な症状です。

環境

対処方法

結論から言うと、mfc90u.dll を新たに取得し、System32 フォルダに置くことでエラーが出なくなりました。mfc90u.dll がおそらく壊れていたのだと思う。mfc90u.dll は以下などから入手可能です。

手に入れた DLL は、System32 フォルダに手動で設置します。

試したこと

以下、エラーの対処のために行った事を書いてみます。

SetPoint の再インストール

まずはエラーダイアログの指示通り、SetPoint を再インストールしてみました。Version は最新版です。アンインストールしたものも同じ版でした。

しかし直りません。再起動してみると全く同じエラーが出ました。

Visual C++ 2008 同梱 DLL の確認

mfc90u.dll について調べると、Visual C++ 2008 に同梱されているとのこと。VC2008 は PC に既にインストールしてありましたので、WinSxS フォルダを当たってみます。

WinSxS フォルダ (C:\Windows\WinSxS) で、キーワード「vc90.mfc_」で検索します。

このフォルダの中には、たしかに mfc90u.dll が存在しています。

System32 や SysWOW64 フォルダ、そして SetPoint 関連のフォルダには mfc90u.dll は見当たりません。SetPoint は WinSxS フォルダのそれを参照しようとして、しかし参照できないこともあるといった状態でしょうか。

mfc90u.dll を新たにダウンロード

そこで、DLL を新たに入手することにしました。DLL-files.com から mfc90u.dll のダウンロードします。

ダウンロードした mfc90u.dll を System32 フォルダ (C:\Windows\System32) に置きます。

これで起動時にエラー出て終了することはなくなりました。

WinSxS フォルダの DLL を System32 に置くと……

試しに、System32 フォルダに置いた mfc90u.dll を退避させ、WinSxS フォルダにある mfc90u.dll をそこへコピー & ペーストしてみました。するとどうなるか。再び、エラーが出たり出なかったりの症状に戻りました (ただし、エラーダイアログには、mfc90u.dll 云々ではなく、正常に動作できない旨が記されていました)。

参考

今日学んだこと

mfc90u.dll がおかしくなった時の対処方法。