FIX Windows のサイド バイ サイド実行用の Visual Basic 6.0 の ActiveX コントロールはサポートされていません

文書翻訳 文書翻訳
文書番号: 828629
すべて展開する | すべて折りたたむ

現象

Microsoft Windows XP およびそれ以降のバージョンでは、Microsoft コンポーネント オブジェクト モデル (COM) DLL モジュール内で side-by-side (SxS) モードを実行できます。SxS を使用して、COM DLL の異なるバージョンを同じコンピューター環境に競合なく共存させます 。この現象は、プログラムを特定の COM DLL にバインドする場合に指定するマニフェスト ファイルを使用して発生します。Microsoft Visual Basic 6.0 の ActiveX コントロールは COM DLL のモジュールは本質的に .ocx ファイル名拡張子を持つです。Windows XP で SxS 操作をこれらのモジュールを構成するときに、次のエラー メッセージが表示されます。

実行時エラー '336' コンポーネントが正しくない登録。

原因

この問題は Windows および Visual Basic の両方のランタイム構成の SxS の実行を Visual Basic 6.0 ActiveX コントロールをサポートしていないために発生します。

解決方法

完全にこの問題を解決するのには、次の両方が必要です。
  • Visual Basic 6 Service Pack 6 (SP6) が含まれている Visual Basic のランタイムのバージョン
  • Windows XP Service Pack 2 (SP2)
最新の Visual Basic のランタイム バージョンを取得する方法の詳細については、マイクロソフト サポート技術資料を参照する次の資料番号をクリックします。
290887VBRun60sp6.exe を Visual Basic 6.0 SP6 ランタイム ファイルがインストールされます。
Windows XP SP2 を入手するには、次のマイクロソフト サポート技術情報の Web サイトを参照してください。
http://support.microsoft.com/default.aspx?scid=fh。Windowsxpsp2;
Windows XP SP2 をインストールできない場合は、修正プログラムとして Windows XP の修正プログラムを入手できます。 詳細については、以下の資料番号をクリックしてマイクロソフト サポート技術資料を参照してください。
843524修正: サイド バイ サイド COM DLL モジュール マニフェストを Visual Basic 6.0 ActiveX コントロールをレジストリに Windows XP によってオーバーライドされます。

詳細

この修正プログラムを有効にするには、マニフェスト ファイルにフィールドを追加する必要があります。マニフェスト ファイルの例を次に示します。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
	<assemblyIdentity type="win32" name="control.ocx" version="1.0.0.0" processorArchitecture="x86"/>
	<file name="control.ocx">
		<comClass description="Sub control" clsid="{76548630-0CC8-48E4-B471-A9001865AE65}" 
			miscStatus="recomposeonresize,cantlinkinside,insideout,activatewhenvisible,setclientsitefirst"
			progid="Control.TextBox" threadingModel="Apartment"
			tlbid="{8A1ADF05-8164-4D5B-9267-FA74E601D826}"/>
		<typelib tlbid="{8A1ADF05-8164-4D5B-9267-FA74E601D826}" version="1.0" helpdir=""/>
	</file>
</assembly>
MiscStatus属性が追加されていることに注意してください。これで 5 つの新しい属性は、アセンブリ要素または使用可能なさまざまな DVASPECT 値を表すcomClass要素で使用可能なです。
元に戻す全体を表示する
属性
miscStatusOleRegGetMiscStatus API に dwAspect 引数に 0 を渡すと、取得する既定のステータス フラグ
miscStatusIconDVASPECT_ICON マップ
miscStatusThumbnailDVASPECT_THUMBNAIL マップ
miscStatusDocPrintDVASPECT_CONTENT マップ
miscStatusContentDVASPECT_CONTENT マップ
各側面には、次のフラグのセットをコンマで区切って指定できます。空白文字は使用しないでください (「」) が小文字フラグがあります。これらの要素から入りますフラグが表示されます。
元に戻す全体を表示する
RecomposeonresizeOnlyiconicInsertnotreplace
静的CantlinkinsideCanlinkbyole1
Islinkobject再現Activatewhenvisible
RenderingisdeviceindependentInvisibleatruntimeAlwaysrun
ActslikebuttonActslikelabelNouiactivate
整列SimpleframeSetclientsitefirst
ImemodeIgnoreactivatewhenvisibleWantstomenumerge
Supportsmultilevelundo
Tlbid属性アセンブリ要素またはcomClass要素でどのようなタイプ ライブラリを示す、COM クラスを使ってもする必要があることの通知は、正しく解決するのには、ランタイムはから取得されます。

状況

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

プロパティ

文書番号: 828629 - 最終更新日: 2012年12月16日 - リビジョン: 5.0
キーワード:?
kbhotfixserver kbqfe kbwinxppresp2fix kbfix kbbug kbmt KB828629 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:828629
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com