web-dev-qa-db-ja.com

64ビットWindowsの\ Program Filesと\ Program Files(x86)

32ビット画像と64ビット画像を簡単に区別する以外に、別のフォルダーを用意する理由は何ですか?

11
squillman

人間が読みやすくするためだけではなく、32ビットアプリを64ビットアプリから分離するためのプログラム上の理由はたくさんあります。 「Common Files」フォルダを検討してください。同じ名前のファイルにCommon Filesフォルダーを使用する32ビットアプリと64ビットアプリがある場合、最初にインストールされた方のホースを使用します。 Windowsがこれらのフォルダーをアプリ自体に提示する方法にも違いがありますが、それらを詳しく説明するのに十分な知識はありません。

最後に、これはユニバーサルネイティブ64ビットアプリへの移行における多くのステップの最初です。フォルダを異なる方法で表示すると、区別が開発者とユーザーの両方にわかりやすくなります。32ビットの「Program Files(x86)」は奇妙な表現です。

16
sh-beta

あなたの質問で書いたように、これらのフォルダーは32ビットアプリケーションと64ビットアプリケーションのデフォルトのセットアップディレクトリです。

興味深いハイブリッドセットアップはSQL Server 2005です。64ビットバージョンをインストールすると、メインのSQLエンジンファイルがProgram Filesフォルダの下にコピーされ、32ビットのみのツールが「Program Files(x86)」にインストールされます。 」

2
splattne

その理由は、32ビットのプログラムファイルと64ビットのプログラムファイルを区別するためです。 64ビットWindowsインストールで32ビットプログラムを実行すると、Windowsはそのプログラムから%ProgramFiles%[英語版のC:\ Program Files]に対するフォルダー要求をx86代替[C:\ Program Files( x86)]。このサイレントリダイレクトにより、64ビットプログラムと32ビットプログラムは相互に干渉することなく共存できます。 (たとえば、64ビットのWindowsには、64ビットと32ビットの両方のバージョンのInternet Explorerが含まれています。)Windowsも、独自のファイルとレジストリキーに対して同様のリダイレクトを実行します。

1
Jay Michaud