先日、会社で使用しているシステムに突然の不具合が起きる。
OSはWindows7
サポートしている部署に、問い合わせをすると
コマンドを入力するように指示をされた
手順書をもらったので、コマンドをコピーし貼り付けたのだが
Regsvr32というタイトルのダイアログが出た
赤い×印の横には
モジュール
C¥WINDOWS¥system32¥MSCOMCTL.ocx の読み込みに失敗しました。
バイナリが指定されたパスに格納されていることを確認するか、バイナリまたは依存.DLLファイルに問題が無いかしらべてください。
指定されたモジュールが見つかりません。
この事を伝えると、これ以上はわかりません的な回答が返ってきた・・・
何か気になる
私は構文とか、コマンドはほとんど詳しくない。けれど・・・
まず、その前からエラー表示とかに、利用PCの使用ファイル名とかが一致してなくて
すごく違和感があったので、納得いくまで調べようと思い考えてみました。
要するに
MSCOMCTL.ocx がどうにかなってて、そこをコマンドで通してあげれば解決するんだよな・・・(多分)
という根拠の無い予測で、検索をした・・・かなり・・・いろんな組み合わせでw
どの検索ワードでヒットしたか覚えてませんが
このページに辿り着きました。
http://kuma1013.blog9.fc2.com/
ここのページの該当部分を下に転載しておきます。(全文はリンクで飛んで読んでくださいね)
以下転載
===========================
MSCOMCTL.OCXは32ビットの代物
・つまりx64システムでは、WoW64上で動く=System32ではなくSysWOW64で登録しなきゃダメ
ということらしい。
なので、以下の手順を踏む。
・スタート→「cmd」と入力→cmd.exeを右クリック:管理者として実行→「はい」をクリック
・以下、赤文字を入力
C:\Windows\system32>cd
../SysWOW64[Enter]
C:\Windows\SysWOW64>regsvr32
MSCOMCTL.OCX[Enter]
これで普通に起動できるようになります。
===========================
ああ、そうか
そうだよね・・・理論的にそうだわ・・・(なんか納得)
そこで、今回の利用PCをチェック
やはり、64bitでした。
そこで、上記のコマンドを入力
先ほどのエラーは出ずに、成功しました旨の表示が出た!
よっしゃ!
さて、システムはどうかな・・・と確認
ちゃんと動作しました!
思わずガッツポーズw
もし、同じエラーでお困りの方がいましたら、使用PCのプロバティから32bitか64bitかを確認してください
32bitの時は
C:\Windows\system32>regsvr32 MSCOMCTL.OCX[Enter]
64bitの時は
C:\Windows\system32>cd ../SysWOW64[Enter]
C:\Windows\SysWOW64>regsvr32 MSCOMCTL.OCX[Enter]
良い勉強になりました。
リンク元のブログ主さんに感謝です。