私は、最新のコミットハッシュのような現在のGit作業ディレクトリのいくつかのプロパティを読む小さなビルドヘルパツールを書きたいと思っています。 。私は、インストールされているGitバイナリを、未知の形式の圧縮ファイルで.gitディレクトリを読み込むのではなく、使いやすいことを発見しました。しかし、私のツールは可能な限りポータブルでなければなりません。これは.NETアプリケーションを対象としているため、唯一の要件は.NET 2.0以上でなければなりません。WindowsシステムにGitがインストールされているパスを見つける
今、Gitがインストールされているパスを見つける方法はありますか?ユーザーがGitインストーラをちょうどクリックした場合に使用されるデフォルトのものがあります。しかし、それは異なるかもしれません。 git/binにあるすべてのプログラムファイルを見ると、%PATH%(これはTortoiseGitのような他のツールでも必要と思われないもの)にしたくないのです。レジストリにパスの手がかりが見つかりませんでした。
私はGitを見つけるのにどのアルゴリズムを使うことができますが、これは完全なファイルシステムスキャンではありませんか? (私はすでにそれが高速であることが必要であると言ったのか?)の下のレジストリで
アンインストーラからデータを読み込む興味深いアイデア... – ygoe
一方、私はそれを次のように実装しました:%ProgramFiles%\ Git * \ bin \ git.exeを検索してください。存在しない場合は、%ProgramFiles(x86)%で再試行してください。あれについてどう思う? – ygoe
時間がかかりすぎないとうまくいくはずです。私は完全な手順は次のようにしてください: 1. git.exeがPATHにあるかどうか確認してください。 2.それ以外の場合は、レジストリの "InstallLocation"キーを確認します。 3.それ以外の場合は、%ProgramFiles%(または64ビットWindowsの場合は%ProgramFiles(x86)%)の下のGit \ bin \ git.exeをチェックします。 – sschuberth