2016-07-22 6 views
0

C#で登録されたCOMサーバーのパスをプログラムで取得する良い方法はありますか?C#で登録済みのCOMサーバーのパスを取得するにはどうすればよいですか?

C#プロジェクトで参照するアウトプロセスCOMサーバー(exeファイル)があります。ただし、特定の場所からCOMサーバーを実行するように強制したいので、起動する前に、登録済みのexeファイルのパスを確認したいと考えています。レジストリにダイビングする以外に、これを行う良い方法はありますか?

+2

レジストリの使用状況は、LocalServer32キーなど、実際に記録されています。https:/ /msdn.microsoft.com/en-us/library/windows/desktop/ms683844.aspx –

+0

いいえ、良い方法はありません。サーバー自体が自明のことを伝えることができるときには、オラクルに頼らないでください。 –

答えて

0

機能QueryPathOfRegTypeLibはそれだけです。私が最初にユーザーごとに一つのパスから登録する場合

しかし、私は奇妙な癖に気づかなかった

C:\パス1 \ comserver.exe/regserverperuser

と次に、システムレベルに基づいて別のパスからの登録:

C:\パス2 \ comserver.exe/REGSERVER

そしてQueryPathOfRegTypeLibは、cを返す:\ Path1 \ comserver.exeですが、実際にはタイプライブラリをロードするときに起動するc:\ Path2 \ comserver.exeです。

関連する問題