web-dev-qa-db-ja.com

Windows Common Controls 6.0の追加時にオブジェクトライブラリが登録されない

Windows 7 32ビットマシンにVisual Studio 6をインストールしようとしています。

OS intallはベアメタル製でした。

言及された指示に従いました here (以前使用した)

エラーは報告されず、インストールは正常に完了しましたが、Microsoft Windows Common Controls 6.0をツールボックスに追加しようとすると、「オブジェクトライブラリが登録されていません」というエラーが表示されます。

OCXを手動でアンインストールおよび再インストールしてみましたが、どちらも成功しましたが、同じエラーが引き続き発生します。

SP6をインストールしようとしましたが、エラーなしでインストールしました(そしてOCXを新しいバージョンに更新しました)が、まだ同じ問題があります。

編集:

さらなる調査について以下で説明するように、IE10の更新によりMSCOMCTL.ocxが破損するようです。ただし、IE10を搭載した別のWindows 7マシンが正常に動作するため、これは注文に関係していると思います。

28
Matt Wilko

32ビットマシンの場合:

cd C:\Windows\System32
regsvr32 mscomctl.ocx
regtlib msdatsrc.tlb

または64ビットマシンの場合:

cd C:\Windows\SysWOW64
regsvr32 mscomctl.ocx
regtlib msdatsrc.tlb

これらは 管理者として実行 である必要があります。

65
Ofer Zelig

以前のようにMSCOMCTRL.OCXの登録を解除して登録することで、これが修正可能でないことを確認できます。どのアップデートが問題の原因であるかを特定しようとしており、問題を引き起こしている他のアップデートと組み合わせたIE10またはIE10のようです。これに投資する時間があれば、投稿を更新しますが、その間にIE10をアンインストールすると問題が解決します。

2
RickF

私は同じ問題を抱えています。 VB6 Win7 64ビットと非常に簡単なソリューションに出くわしたので、他の人を助ける場合はここで共有することをお勧めします。

最初に、次のことを試みましたが成功しませんでした。

  • 未登録および再登録MSCOMCTL、MSCOMCTL2、およびバーコードアクティブXコントロール(VB98、システム32、sysWOW64、プロジェクトフォルダー)。

  • 作業フォルダーを削除して、すべてを再度取​​得します。 (ソースセーフ経由)

  • 問題なくマシンからOCXファイルをコピーして登録します。

  • Service Pack 6のインストール

  • MZツールのインストール-試してみる価値がありました

  • プロジェクトの配布可能なバージョンをインストールします。

  • 参照を修正/削除するためにvbpファイルを手動で編集し(書き込み可能にした後)、通常はいじります。

  • VB6のアンインストールと再インストール(これは最後の手段だと思っていました)問題は、既存のプロジェクトだけでなく、新しいプロジェクトで発生していました。

上記のいずれも機能しませんでしたが、以下は機能しました

Open VB6
New project
>Project
    >Components
        Tick the following:
            Microsoft flexigrid control 6.0 (sp6)
            Microsoft MAPI controls 6.0
            Microsoft Masked Edit Control 6.0 (sp3)
            Microsoft Tabbed Dialog Control 6.0 (sp6)
        >Apply

この後、まだバーコードアクティブXまたはウィンドウコモンコントロール6.0およびウィンドウコモンコントロール2 6.0にチェックマークを付けることはできませんでしたが、適用をクリックすると、メッセージが未登録からプロジェクトに既に存在するものに変わりました。

>exit the components dialog and then load project. 

今回はうまくいきました。コンポーネントダイアログをもう一度試してみて、不足している3つがチェックされました。すべて順調です。

0
Lee Chetwynd

...そして、VB6がインストールされた64ビットW7マシンで、DOSで、管理者として、これはVB6アプリで発生していたOCXの問題を解決するのに役立ちました。

cd C:\Windows\SysWOW64
regsvr32 mscomctl.ocx
regtlib msdatsrc.tlb

はい!このソリューションは、VB6でMSCAL.OCX(Microsoft Calendar Control)を使用していた問題を解決しました。

君たちありがとう! :-)

0
Jopin

コマンドプロンプトで次のコマンドを実行するだけです。

32ビットマシンの場合、

cd C:\Windows\System32
regsvr32 mscomctl.ocx
regtlib msdatsrc.tlb

64ビットマシンの場合、

cd C:\Windows\SysWOW64
regsvr32 mscomctl.ocx
regtlib msdatsrc.tlb
0
Codemaker