Linuxシステムでは、/ usr/localや/ optのようなディレクトリツリーがあり、ディストリビューションにパッケージがないため、ディストリビューションのFHSにうまく適合しない「カスタムインストール」アプリケーションを配置できます。
Windowsでは、インストーラーを提供しないアプリケーションをどこに配置するので、C:\Program Files (x86)
とC:\ProgramData
にうまく分割されませんか?確立されたコンベンションはありますか?
背景:多くの小さなツール(sysinternalsツールなど)またはUnix移植アプリケーション(emacsなど)は、Windowsインストーラーではなく、Zipファイルを提供します。 " どこかに解凍してexeファイルを開始するだけです "への指示。ここで、私はcould任意のトップレベルディレクトリを作成できます。 C:\Tools
ですが、衒学者なので、「正しい」名前を付けてください。いくつかのコンセンサスがありますか、それとも誰もがこのタイプのアプリケーションのために独自の規則を発明していますか?
私は自宅と職場で同じ小さなツールを持っていることがよくあり、通常、企業はユーザーに管理者権限を許可していないため、 C:\tools
または"C:\Program Files\Tools"
はオプションではありません。インストールスクリプトを同じに保つために、ユーザーディレクトリを指すルートジャンクションを使用します。そのジャンクションには管理者権限が必要ですが、それはワンショットです。
C:\>mkdir %USERPROFILE%\localapp
C:\>mklink /J localapp %USERPROFILE%\localapp
次に、C:\localapp
をポータブルツールのMSIインストーラーに提供したり、特権がなくてもそこでツールを解凍したりして、PATHで使用できます。たとえば、自宅と職場で同じことがあります。
C:\localapp\Mozilla
C:\localapp\Sysinternals
C:\localapp\Joeware
...
ある程度まで(ジャンクションが存在しない可能性があるなど)、移動プロファイルを使用している場合は、すべてのコンピューターで同じツールを使用することもできます。
C:\Users\yourself\localapp
に直接インストールすることもできますが、私の場合、私のユーザー名はどこでも同じではなく、%USERPROFILE%
を常に展開せずに使用できるとは限らないため(レジストリなど)、面倒です。
これに関する速いルールはありません。
提案:c:\tools
、またはc:\opt
Linuxに精通している場合。
一部のアプリでは独自のデータをここに書き込むために昇格されたアクセス許可が必要になるため、この新しいフォルダーのアクセス許可を変更する必要がある場合があります。
開発者として、私はこの構造を使用しています:
C:\
+-- code // for repositories
+-- data // db files
+-- tools // software tools
これにより、別のマシンで新しい開発環境をセットアップするときに、使用しているツールとその構成を簡単に追跡できます。