私が作成したアプリケーションがあり、それは私のマシンにインストールされている外部アプリケーション (「ツール」と呼びましょう) のタスクに依存しているとします。私のプログラムでは、それを で呼び出しsystem( "tool myarguments" );
、正常に動作します。
今、私は自分のアプリを配布したいと考えています。もちろん、エンドユーザーのマシンに「ツール」がインストールされていない可能性もあるので、アプリでこれをチェックして、ユーザーへのメッセージを出力したいと思います。だから私の質問は:
マシン上にアプリが存在するかどうかを確認するポータブルな方法はありますか? (名前が分かっていて、マシンのシェルからアクセスできると仮定します)。
追加情報: 最初のアイデアは、バイナリ ファイルの存在を確認することでしたが、次のようになりました。
- これはプラットフォームに依存し、
- インストール方法 (ソースからのビルド、パッケージからのインストールなど) によっては、ローカル パスからアクセスできますが、常に同じ場所にあるとは限りません。
この質問に対する私の最初の意見は「いいえ」ですが、誰かアイデアがあるのではないでしょうか?
参考:システム()