独自のプロセスを作成し、Web ブラウザー コントロールをホストする場合は、COM 情報を含むマニフェスト ファイルをアプリケーションに提供できます。あなたが示唆するように、各レガシー COM コンポーネントのエントリを含めることができます (progid および comClass 情報などを含む)。次に、ホストされたブラウザ コントロールにロードされた JavaScript が「new ActiveXObject()」呼び出しを実行すると、レジストリのない COM (Side-by-Side) ローダーがアクティブになり、マニフェスト ファイルを使用して必要なものを解決します。
概念実証のためだけに、15 分以内にこのソリューションに到達できます。Web ブラウザー コントロールが埋め込まれた新しい .net アプリケーションを作成し、javascript を使用してテスト html ページを記述して、レガシー コンポーネントを作成し、COM でメソッドを呼び出すだけです。コンポーネントを作成し、最後にレガシー コンポーネントのエントリを使用して exe の .manifest ファイルを作成します。Web ブラウザー コントロールのプロパティをテスト用の html ファイルに設定するだけです。COM コンポーネントの登録を解除し、exe を .manifest ファイルで更新することを忘れないでください。
FILE マニフェスト エントリの例は次のようになります。
<file name="mycom.dll">
<typelib tlbid="<YOUR TYPELIB ID>" version="1.0" helpdir="" resourceid="0" flags="HASDISKIMAGE" />
<comClass clsid="<YOUR COCLASS ID>" threadingModel="Apartment" tlbid="<YOUR TYPELIB ID>" progid="mycom.class.1" description="mycom.class" />
</file>
ファイル マニフェストの詳細については、次の場所を参照してください。
http://msdn.microsoft.com/en-us/library/aa375632(v=VS.85).aspx