web-dev-qa-db-ja.com

プログラムをC:/に直接インストールするのはなぜですか?

一部のプログラムが(デフォルトまたは要件でさえ)C:/に直接インストールされ、ほとんどの場合のようにC:/ Program Files /フォルダーにインストールされない理由は何ですか?

また、ドライバーがここで解凍されることがよくあるのはなぜですか? C:/-ドライブにIntel、Nvidia、ATI、Xeroxのフォルダーがたくさんあるのを見てきましたが、デスクトップやその他のユーザー固有のフォルダーではなく、デフォルトでデフォルトにするのはまったく意味がありません。ファイルは一時的なものであるため、システム全体で必要になることはありません。

ありがとう!

編集:この質問は特定のソフトウェアに関するものではなく、通常の方法から逸脱することが理にかなっている理由です。実行し続ける必要のあるサーバーと関係があるのではないかと思いましたが、これは事実に基づく単なる予感です。サーバープログラムをC:/ Program Files /から実行しないでください。権限が設定されます。ドライバインストールファイルなど、システム全体で必要になる可能性のあるファイルについても同じです。

明らかに、これはWindowsのみに関係します。

14
zuiqo

C:\のフォルダーに直接何かをインストールしたり、c:のドライバーを解凍したりする実際の技術的な理由はありません。
Microsoftが発行しているWindowsソフトウェア設計ガイドにも反しています。

だが:
そのフォルダで何かを手動で実行するようにユーザーに指示する必要がある場合は、ユーザーに簡単な指示を与えることができると便利です。
のように:「マイコンピュータ」を開き、C:を開き、[フォルダ]を開いてから、プログラム「セットアップ」を開きます。
パスをこのように強制的に修正することで、すべてのユーザーに一貫性があり、テクニカルサポートの作業がはるかに楽になります。
これは、ドライバーのダウンロードによく見られます。すべての主要メーカーはそのようにそれをしているようです。

私は時々一次ヘルプデスクを担当しました。
何人のユーザーが何かをダウンロードし、解凍し、その間に電話をかけたのか信じられません。15分後、解凍したファイルをハードディスクのどこに置いたか思い出せません。
次に、ヘルプデスクまたはテクニカルサポートに電話します。
これらの呼び出しを処理する人であれば、これらのファイルをC:\に直接配置するロジックをすぐに理解し始めます。

11
Tonny

一部のプログラムが(デフォルトまたは要件でさえ)C:/に直接インストールされ、ほとんどの場合のようにC:/ Program Files /フォルダーにインストールされない理由は何ですか?

一部の開発者は、気づいていないか、怠惰すぎて「正しく」行うことができないため、標準の規則に従わない。多くのアマチュア開発者は、環境にクエリを実行するのではなく、ソフトウェアやインストーラーへのパスをハードコーディングします(例:%TEMP%、%APPDATA%、%PROGRAMFILES%)。

また、ドライバーがここで解凍されることがよくあるのはなぜですか? C:/-ドライブにIntel、Nvidia、ATI、Xeroxのフォルダがたくさんあるのを見てきましたが、デスクトップやその他のユーザー固有のフォルダではなく、デフォルトでデフォルトにするのはまったく意味がありません。ファイルは一時的なものであるため、システム全体で必要になることはありません。

Tonnyが示唆したように、これは部分的にテクニカルサポートを簡素化するためですが、それはあなた自身の便宜のためでもあります。ドライバーファイルを見つけやすく、すべてのユーザーがアクセスできる場所に抽出すると、ドライバーを再インストールする必要がある場合に、システムがファイルを再度見つけることも簡単になります。残念ながら、ほとんどのベンダーは古いファイルをクリーンアップしないため、二度と使用されないギガバイトの古いドライバーパッケージになってしまう可能性があります。場合によっては、それらを%TEMP%または「すべてのユーザー」アカウントに抽出する方が適切な場合があり、一部のベンダーはまさにそれを実行します。

7
rob

「ほとんどの」ソフトウェアおよび構成ファイルは、長いディレクトリパス、大文字と小文字の混合、スペース、および「非標準」文字を処理できますが、常にそうとは限らず、ワークフローの途中でこれにつまずくのはささいな手間です。

MicrosoftがUsersフォルダをVistaおよび7のルートディレクトリに移動したことは、実際にルートディレクトリ(デフォルトは「c:」)を好む人の数を示していると思われます。

2
donlindsay

スペース。理由はスペースです。

C:/Program Filesにスペースがあります。これをそのままシェルコマンドに入れると、2つの別々の引数として解釈されます。 C:/ProgramおよびFiles。もちろん、これは"C:/Program Files"またはC:/Program\ Filesを引用するだけで非常に簡単に修正できますが、一部のプログラムではこれを台無しにしてしまいます。この問題を回避するため、または怠惰な脚本家にとってより簡単にするために、プログラムがC:に直接インストールされることがあります。

プログラム開発者が勤勉ですべてのファイルパスを正しくエスケープしたとしても、チェーンのどこかにあるライブラリや外部スクリプトがそうしない可能性があることに注意してください。プログラムには非常に多くの依存関係があるため、全員を参加させるよりも、スペースを使用しない方が簡単な場合があります。

1
mpen

これはWindowsのみに関係すると述べていますが、ソフトウェアは他のオペレーティングシステムとの間で移植される可能性があります。また、Windowsのバージョン間で違いがある場合があります。一部の翻訳版のWindowsでもこのフォルダ名が翻訳されており、ユーザーは場所を変更することもできます(たとえば、「C:\ ProgramFiles」の代わりに「P:」をしばらく使用しました)。これはすべてソフトウェアで検出できますが、固定の場所を使用する方が簡単です。また、ドライバーの場合、この情報がOSから利用できないときに、ファイルがどこにあるかを知る必要がある場合があります。

0
herman

一部の古いプログラム(DOS時代、Win 3.1)は、それらが開かれるパスでスペースまたは「長い」名前を受け入れることができませんでした。しかし、これは最近ではかなりまれです。

インストーラーは、インストール先のシステムに関する設定を取得することになっています。これらの設定には、他の詳細の中でも特にProgramFilesディレクトリの場所が含まれているはずです。正規のプログラムは、この情報に接続し、提供されているデフォルトから変更した場合に追跡するインストーラーにパッケージ化されています。

一方、ドライバーはオペレーティングシステムによって処理されるように設計されています([デバイスマネージャー]-> [ドライバーの更新])。インストーラー内にある場合、デバイスマネージャーはそれらにアクセスしてインストールすることはできません。彼らはあなたがそれらを置く場所について柔軟ではありません。

消費者レベルでは、スマートフォンやタブレットは、これらがエンドユーザーの関心事であるべきだという考えに本当に挑戦しています。

0

一部のプログラムは、スペースのあるパス(つまり、「プログラムファイル」)に存在すると誤動作します。そのため、C:のルートにインストールされます。

しかし、多くのプログラマーは怠惰で、都合の悪いことに、デフォルトでプログラムをC:\に入れることに決めたに違いありません。

0
Bigbio2002

TLDR;他のプログラムが依存する可能性のある重要なプログラムを、ゲーム/ブラウザ/インストールした他のプログラムなどの通常のプログラムから分離するため。

人々がC:\にインストールすることを選択するもう一つの大きな理由は、そもそもProgram Filesを作成した理由に関係していると思います。Usersフォルダーを作成してユーザーファイルをプログラム/システムから分離するのと同じ方法で、プログラムをシステムファイルから分離します。ファイル。

したがって、開発者がそれが何のためにあるのかを覚えていないためにユーザーがそれをアンインストールすることを望まない場合(オーディオプラグインのようなパッケージ化された開発アイ​​テム、またはpython/Rubyのような言語全体を考えてください)、彼らはプログラムをC:\ドライブにインストールしますそれを「システムファイル」に含めるだけでなく、明らかな理由でWindowsフォルダに入れないようにします。

私はこれが古い投稿であることを知っていますが、ロックされておらず、何か追加する必要がありました。

0
Duncan