C#で特定のCOM DLLがインストールされているかどうかを判断する方法はありますか?それともclassIdのレジストリをスキャンするのですか?COMライブラリ(.DLL)がインストールされているかどうかをプログラムで確認する
6
A
答えて
4
私が通常やっていたこと(やり直しが必要な場合)は、COMライブラリ(ProgIDまたはGUIDのいずれか)にあるクラスのオブジェクトインスタンスを作成して失敗を確認しようとしています。
0
これを試して作成し、それ以外の場合はエラーを処理してください。
Win32の場合CoCreateInstance
は、インストールされていない場合は、REGDB_E_CLASSNOTREG
を返します(登録されている場合はIIRCを含みますが、それを実装するdll/exeが削除されます)。
.NETでは、生成されたCOM相互運用機能アセンブリは何らかのエラーをスローします(これをチェックする必要がありますが、どの例外タイプをテストするのに便利なコードはありません)。注意。 interopアセンブリが見つからない場合は、アセンブリの不足として処理され、アプリケーションの読み込みエラーが発生する可能性があります。
関連する問題
- 1. プログラムのリストからプログラムがインストールされているかどうか確認してください。
- 2. DLLライブラリが既にロードされているかどうかを確認しますか? (Java)
- 3. DLLが署名されているかどうか確認するC++
- 4. バッチファイルから、プログラムがインストールされているかどうかを確認する方法はありますか?
- 5. Android SDKパッケージがプログラムでインストールされているかどうか確認してください
- 6. は、IISがインストールされているかどうかを確認するか
- 7. OSにプログラム/パッケージがインストールされているかどうかを確認する方法はありますか?
- 8. CHEFプログラムがインストールされているかどうかを確認するためにNot_Ifを使用する
- 9. 将来のバージョンのVisual Studioランタイムがインストールされているかどうかをプログラムで確認する
- 10. .dllファイルに宣言されているかどうかを確認するメソッド
- 11. paho mqttがインストールされているかどうかを確認する方法
- 12. libC++がインストールされているかどうかを確認する方法は?
- 13. Pythonがインストールされているかどうかを確認するPowershellスクリプト
- 14. サービスがインストールされているかどうかを確認する方法
- 15. Qpidがインストールされているかどうかを確認するには?
- 16. IISがインストールされているかどうかを確認しますか?
- 17. インストールされているネットワークプリンタがオンラインかどうかを確認します。
- 18. dllがシステムに存在するかどうか、またはC++を使用してSQLSERVER2008がインストールされているかどうかを確認する方法
- 19. InnoDBプラグインがMySQLにインストールされているかどうかを確認
- 20. .NETファミリの更新プログラムがインストールされているかどうかを確認します。
- 21. DSXで実行されているかどうかをプログラムで確認
- 22. ユーザーがdbで確認されているかどうかを確認
- 23. DLLが別のアプリケーションで使用されているかどうかを確認してください
- 24. pythonパッケージがリモートLinuxマシンにインストールされているかどうかをプログラムで確認するにはどうすればよいですか?
- 25. Findプログラムがインストールされているかどうか
- 26. dllでASLRが使用されているかどうかを確認する方法
- 27. Authguard anglefire2電子メールが確認されているかどうかを確認
- 28. アプリがインストールされているかどうかを確認して開くことができますか?
- 29. ALTキーが押されているかどうかを確認
- 30. アクティブレコードテーブルが変更されているかどうかを確認
レジストリスキャンよりも堅牢で、不正なインストールが検出されている必要があります。しかし、DLLを読み込むかオブジェクトを作成するのはコストがかかります。 –
おそらく、ライブラリから "適切な"クラスを試してみることをお勧めします。そして、もしあなたが少なくともライブラリを使って何かをやろうとしないなら、COMライブラリがインストールされているかどうかを確認する必要はないだろうと思っています。 – peSHIr