common.dllという別のサードパーティのDLLに依存する、複数のdllを別々のサブディレクトリに置いています。これらのdllを設定して、どこにcommon.dllがあるかを知るようにして、common.dllを他のプログラムに見せて衝突を避けるようにします。例えば別のディレクトリにあるバイナリ間で共通のDLLを共有する
:
- FOO/bar.dll
- FOO /バー/ fubar.dll
- 共通/ common.dll bar.dllとFUBAR両方と
。 dllはcommon.dllに依存します
私には次の制約があります:
- 私はDLLを完全に制御していますが、呼び出し可能な実行ファイルを制御できないため、PATHの変更はオプションではありません。
- それは私がAPIを介してパスを設定するためのDLLのコードを変更する窓
- で使用される「既知」の場所にcommon.dllをインストールすることはできません7
- までXPからすべてのWindows上で動作するように持っているではありません望ましい
IOW、私のDLL上のUNIX RPATH + ORIGINが
私はマニフェストを使用して助けることができることを期待していたが、それはWindows XPのためのavailble非常に複雑かに見える理想的な解決策になるようなもの。
おかげで、私は、共通のDLL私をインストールすることはできません。
c:\MyDir\xxx.dll
を使用すると、彼らはWindows上でc:\blah\common\xxx.dll
構文を取得することですn "known"ディレクトリ。 –
申し訳ありませんが、私は私の答えを改めました - 私の言葉は混乱していました。 –