\r\n\r\n
Windowsパソコンには、「C:㈳Program Files」と「C:㈳Program Files (x86)」という2つのフォルダが存在すると思われます。いろいろ見て回ると、あるプログラムはあるフォルダに、あるプログラムは別のフォルダにインストールされていることに気づくでしょう。
関連記事:32bitと64bitのWindowsは何が違うのか?
元々、Windowsは32ビットOSとしてしか提供されていなかった。32ビット版のWindowsでは、現在も発売されている32ビット版のwindows10でも、「C:⇄programfiles」フォルダしか表示されません。
このProgram Filesフォルダは、インストールしたプログラムが実行ファイルやデータなどのファイルを保存する場所として推奨されています。つまり、ProgramFilesフォルダーにインストールされます。
64ビット版のWindowsでは、64ビットアプリケーションはProgram Filesフォルダーにインストールされます。しかし、64ビット版のWindowsは32ビットプログラムもサポートしており、マイクロソフトは32ビットと64ビットのソフトウェアが混在することを望んでいない。そのため、32bitのプログラムは "C:㈳ProgramFiles (x86) "フォルダーにインストールされます。
Windowsは、「windows32-bit on windows64-bit」の略であるWOW64を使って、64bit版のWindows上で32bitアプリケーションを動作させています。
64ビット版Windowsで32ビットプログラムを実行する場合、WOW64エミュレーション層は、ファイルアクセスを "C:⾳プログラムファイル "から "C:⾳プログラムファイル(x86)"にシームレスにリダイレクトすることが可能です。"32ビットプログラムはprogram Filesディレクトリにアクセスしようとし、program Files (x86)フォルダを指す。64ビットプログラムは依然として通常のprogram filesフォルダを使用する。
つまり、32bit版のWindowsでは、「C:⇄Program Files」というフォルダが1つだけ存在します。これには、インストールされているすべてのプログラムが含まれており、これらはすべて32ビットです。
64ビット版のWindowsでは、64ビットプログラムは「C:㊤Program Files」フォルダーに、32ビットプログラムは「C:㊦Program Files(x86)」フォルダーに格納されます。
そのため、異なるプログラムがランダムに見える2つのプログラムファイルフォルダに分散されているのです。C:\Program Files "フォルダーにあるものが64ビット、"C:㈳Program Files (x86) "フォルダーにあるものが32ビットです。
これは、古い32ビットプログラム用に設計された互換性機能です。これらの32ビットプログラムは、Windowsのバージョンさえ存在しないかもしれないので、Windowsはそれらを64ビットコードから遠ざけているのです。
32ビットプログラムは64ビットライブラリ(DLLファイル)をロードできないため、特定のDLLファイルをロードしようとして、32ビットではなく64ビットのDLLファイルを見つけた場合、クラッシュする可能性があります。CPUアーキテクチャごとに異なるプログラムファイルを保持することで、同様のエラーの発生を防ぐことができます。
例えば、Windowsがprogramfilesフォルダしか使用しないと仮定すると、32ビットアプリケーションはC: \Program FilesMicrosoft OfficeにあるMicrosoft Office DLLファイルを探し、ロードしようとするかもしれません。ただし、64ビット版のMicrosoft Officeがインストールされている場合は、アプリケーションがクラッシュし、***せずに実行されます。別フォルダーを使用すると、64ビット版のMicrosoft OfficeはC: \Program FilesMicrosoft Officeに、32ビット版のアプリケーションはC:✩Program Files (x86)✩Microsoft Officeにあるため、アプリケーションがDLLを見つけることができなくなります。見つける。
また、開発者が32ビット版と64ビット版の両方のアプリケーションを作成する場合、特に両方のバージョンをインストールする必要がある場合に便利です。 32ビット版はC:㈳Program Files (x86) に、64ビット版は C:㈳Program Files に自動インストールします。 Windowsでフォルダが一つしかない場合、このフォルダを使用します。アプリケーションの開発者は、64ビットのフォルダを別のフォルダにインストールし、両者が分離した状態を維持する必要があります。開発者が異なるバージョンをどこにインストールするかについて、本当の標準がないのかもしれません。
常に「32ビット」「64ビット」と表示されるわけではなく、「x86」「x64」と表示されることもあります。「というように、この2つの異なるアーキテクチャを表現しています。これは、初期のコンピューターがインテル8086チップを使用していたためです。当初のチップは16ビットだったが、新しいバージョンでは32ビットになった。現在、「x86」という言葉は、16ビット、32ビットにかかわらず、64ビット以前のアーキテクチャを指しています。新しい64ビットアーキテクチャは「x64」と呼ばれます。
これが「プログラムファイル(x86)」の意味するところです。これは、古いx86CPUアーキテクチャを使用するプログラム用のprogramfilesフォルダーです。ただし、64ビット版のWindowsでは、16ビットコードは実行できませんので、ご注意ください。
関連:WindowsのAppDataフォルダーとは何ですか?
プログラムファイルがProgram FilesとProgram Files (x86)のどちらに保存されているかは、通常問題ではありません。Windowsが自動的に正しいフォルダにプログラムをインストールするので、考える必要はありません。32ビット、64ビットいずれのプログラムも、データはプログラムファイルフォルダではなく、AppDataやProgramDataなどのフォルダに保存する必要があります。どのプログラムファイルのフォルダーを使用するかは、プログラムが自動的に決めるだけです。
ポータブルアプリであれば、システム上のどのフォルダからでも実行できるので、置き場所を気にする必要はありません。ポータブルアプリはDropboxなどのクラウドストレージのフォルダーに保存して、すべてのPCで利用できるようにしておきたいですね。
プログラムがどこに保存されているかを知ることが必要な場合もある。例えば、Steamディレクトリに入り、いくつかのファイルをバックアップしたいとします。Steamは32ビットプログラムなので、C:㊤ProgramFiles (x86)にあります。
インストールされたプログラムが64ビットかどうかわからず、そのインストールフォルダを探している場合、両方のプログラムファイルフォルダを探さないと見つからない場合があります。
Windows 10のタスクマネージャーを表示することもできます。
64ビット版のWindowsでは、32ビット版のプログラムには"(32ビット) "という文字が追加されており、C:㊤Program Files (x86)にあることがわかります。