SetPoint の「mfc90u.dll がない」エラー時に行った事
Logicool 製キーボードやマウスの操作をカスタマイズできるユーティリティソフト SetPoint が、PC 起動時に DLL のエラーを出すようになってしまいました。
- 目次
症状
SetPoint をインストールすると、スタートアップには「Logicool SetPoint Event Manager (UNICODE)」が登録され、PC 起動時に諸々の設定が反映されるのが正常動作なのですが、この読み込み時にシステムエラーが出て終了してしまう。
常にこうなるわけではありません。エラーが出ず、問題なく動作することもあります。正常だったり異常だったりするという異常な症状です。
環境
- Windows 8 64bit
- SetPoint 6.65.62 64bit
対処方法
結論から言うと、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 がおかしくなった時の対処方法。