Windows7のVB6開発環境でCOMCTRL.OCX系のエラーが出る場合の対処法

初期のWindows7では問題なかったのですが、WindowsUpdateでOSが更新されていると、VB6開発環境で開けないプロジェクトが出てきます。特にCOMCTRL.OCXに関連するものが。

環境: Windows7(SP1) 32bit
   VisualStudio6.0(SP6)

まずはレジストリに再登録を行います。
通常、VB6(SP6)がインストールされているならC:\Windows\System32\にはCOMCTRL.OCXは存在するはずですので、以下のコマンドを管理者権限で上げたコマンドプロンプトで実行します。

regsvr32 C:\Windows\System32\MSCOMCTL.OCX

PCを再起動します。

次にタイプライブラリを再定義しなおします。タイプライブラリとはCOMオブジェクトへのアクセスを行うためのインターフェースのライブラリです。ここがキモとなります。
コマンドプロンプトを管理者権限であげて、以下のディレクトリに移動します。

CD C:\Windows\Microsoft.NET\Framework\v4.0.30319\

続いて同ディレクトリの「regtlibv12.exe」を使用してタイプライブラリを再定義します。

regtlibv12.exe C:\Windows\system32\msdatsrc.tlb

PCを再起動します。

VB6を管理者権限で起動します。
管理者権限はVB6を右クリックしプロパティ→互換性タブを開き「管理者としてこのプログラムを実行する」にチェックを入れます。

エラーとなっているプロジェクトを開きます。
この時点では、まだOCXのエラーメッセージは表示されます。

画面上部のプロジェクト→コンポーネントを開きます。
画面の参照ボタンを押します。System32のOCXを選択するダイアログが開かれるので、COMCTRL.OCXを選択します。[Microsoft Windows Common Control6.0(SP6)]にチェックが付きます。

保存してVB6を閉じてください。

以降、問題なくプロジェクトが開けると思います。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中