レガシ com コンポーネントを登録する必要がないように、reg-free com を使用したいと考えています。ただし、com dll をクライアント exe のディレクトリ内またはその下にない場所 (例: ....\lib) に配置できるようにしたいと考えています。相対パスまたは絶対パスが許可されていないため、サーバー マニフェスト ファイルでこれを行うことはできません。
これを回避する方法があるかどうか誰かが知っていますか?
更新: XP で動作する相対パスしか見つかりませんでした。ただし、Windows Server 2008 ではアクティベーション コンテキスト API を使用して絶対パスを使用できるので、すばらしいです。私の問題は、COM コンポーネントがマネージ データベース ドライバーに静的に依存しているにもかかわらず、現在それが見つからないことです。マニフェスト ファイルについて読んだことから、COM dll と同じディレクトリにあるため、この dll を指す COM reg-free マニフェストに別の要素を単純に追加できることを望んでいましたが、動作させることができません。つまり、要約すると、別のディレクトリ (exe ディレクトリのサブディレクトリではない) の COM マニフェスト/dll を参照するためにアクティベーション コンテキスト API を使用する 1 つのディレクトリに exe があります。