อะไรคือความแตกต่างระหว่างโฟลเดอร์“ Program Files (x86)” และ“ Program Files” ใน Windows

มีโอกาสดีที่คุณจะมีทั้งโฟลเดอร์“ C: \ Program Files” และ“ C: \ Program Files (x86)” บนพีซี Windows ของคุณ ถ้าคุณโผล่ไปรอบ ๆ คุณจะเห็นว่าบางโปรแกรมของคุณติดตั้งอยู่ในโฟลเดอร์เดียวและบางโปรแกรมติดตั้งไว้ในอีกโฟลเดอร์หนึ่ง

32 บิตเทียบกับ 64 บิต Windows

ที่เกี่ยวข้อง: อะไรคือความแตกต่างระหว่าง Windows 32 บิตและ 64 บิต?

เดิม Windows มีให้ใช้งานในระบบปฏิบัติการ 32 บิตเท่านั้น ใน Windows เวอร์ชัน 32 บิตแม้กระทั่ง Windows 10 เวอร์ชัน 32 บิตซึ่งยังคงมีให้บริการในปัจจุบันคุณจะเห็นเฉพาะโฟลเดอร์“ C: \ Program Files”

โฟลเดอร์ Program Files นี้เป็นตำแหน่งที่แนะนำซึ่งโปรแกรมที่คุณติดตั้งควรจัดเก็บไฟล์ปฏิบัติการข้อมูลและไฟล์อื่น ๆ กล่าวอีกนัยหนึ่งคือโปรแกรมจะติดตั้งในโฟลเดอร์ Program Files

ใน Windows เวอร์ชัน 64 บิตแอปพลิเคชัน 64 บิตจะติดตั้งในโฟลเดอร์ Program Files อย่างไรก็ตาม Windows รุ่น 64 บิตยังรองรับโปรแกรม 32 บิตและ Microsoft ไม่ต้องการให้ซอฟต์แวร์ 32 บิตและ 64 บิตผสมกันในที่เดียวกัน ดังนั้นโปรแกรม 32 บิตจึงได้รับการติดตั้งในโฟลเดอร์“ C: \ Program Files (x86)” แทน

Windows เรียกใช้แอปพลิเคชัน 32 บิตบน Windows เวอร์ชัน 64 บิตโดยใช้สิ่งที่เรียกว่า WOW64 ซึ่งย่อมาจาก "Windows 32 บิตบน Windows 64 บิต"

เมื่อคุณเรียกใช้โปรแกรม 32 บิตบน Windows รุ่น 64 บิตเลเยอร์จำลอง WOW64 จะเปลี่ยนเส้นทางการเข้าถึงไฟล์จาก“ C: \ Program Files” ไปยัง“ C: \ Program Files (x86) อย่างราบรื่น” โปรแกรม 32 บิตพยายามเข้าถึงไดเร็กทอรี Program Files และชี้ไปที่โฟลเดอร์ Program Files (x86) โปรแกรม 64 บิตยังคงใช้โฟลเดอร์ Program Files ตามปกติ

สิ่งที่เก็บไว้ในแต่ละโฟลเดอร์

โดยสรุปใน Windows เวอร์ชัน 32 บิตคุณจะมีโฟลเดอร์“ C: \ Program Files” สิ่งนี้ประกอบด้วยโปรแกรมที่คุณติดตั้งไว้ทั้งหมดซึ่งทั้งหมดเป็น 32 บิต

ใน Windows เวอร์ชัน 64 บิตโปรแกรม 64 บิตจะถูกเก็บไว้ในโฟลเดอร์“ C: \ Program Files” และโปรแกรม 32 บิตจะถูกเก็บไว้ในโฟลเดอร์“ C: \ Program Files (x86)”

นั่นเป็นเหตุผลที่โปรแกรมต่างๆกระจายไปทั่วทั้งสองโฟลเดอร์ Program Files ซึ่งดูเหมือนจะสุ่ม ไฟล์ในโฟลเดอร์“ C: \ Program Files” เป็นแบบ 64 บิตในขณะที่โฟลเดอร์ในโฟลเดอร์“ C: \ Program Files (x86) เป็น 32 บิต

ทำไมพวกเขาถึงแยกกัน?

นี่คือคุณสมบัติความเข้ากันได้ที่ออกแบบมาสำหรับโปรแกรม 32 บิตรุ่นเก่า โปรแกรม 32 บิตเหล่านี้อาจไม่ทราบว่ามี Windows เวอร์ชัน 64 บิตอยู่ด้วยซ้ำดังนั้น Windows จึงป้องกันไม่ให้ใช้รหัส 64 บิตนั้น

โปรแกรม 32 บิตไม่สามารถโหลดไลบรารี 64 บิต (ไฟล์ DLL) และอาจล้มเหลวหากพยายามโหลดไฟล์ DLL เฉพาะและพบว่าเป็น 64 บิตแทนที่จะเป็น 32 บิต เช่นเดียวกับโปรแกรม 64 บิต การแยกไฟล์โปรแกรมสำหรับสถาปัตยกรรม CPU ที่แตกต่างกันออกไปเพื่อป้องกันไม่ให้เกิดข้อผิดพลาดเช่นนี้

ตัวอย่างเช่นสมมติว่า Windows เพิ่งใช้โฟลเดอร์ Program Files เดียว แอปพลิเคชัน 32 บิตอาจค้นหาไฟล์ Microsoft Office DLL ที่พบใน C: \ Program Files \ Microsoft Office และลองโหลด อย่างไรก็ตามหากคุณติดตั้ง Microsoft Office เวอร์ชัน 64 บิตแอปพลิเคชันจะหยุดทำงานและทำงานไม่ถูกต้อง ด้วยโฟลเดอร์ที่แยกจากกันแอปพลิเคชันนั้นจะไม่สามารถค้นหา DLL ได้เลยเนื่องจาก Microsoft Office เวอร์ชัน 64 บิตจะอยู่ที่ C: \ Program Files \ Microsoft Office และแอปพลิเคชัน 32 บิตจะมองหาใน C : \ Program Files (x86) \ Microsoft Office

นอกจากนี้ยังช่วยเมื่อนักพัฒนาสร้างแอปพลิเคชันทั้งเวอร์ชัน 32 บิตและ 64 บิตโดยเฉพาะอย่างยิ่งหากจำเป็นต้องติดตั้งทั้งสองอย่างพร้อมกันในบางสถานการณ์ เวอร์ชัน 32 บิตจะติดตั้งลงใน C: \ Program Files (x86) โดยอัตโนมัติและเวอร์ชัน 64 บิตจะติดตั้งลงใน C: \ Program Files โดยอัตโนมัติ หาก Windows ใช้โฟลเดอร์เดียวผู้พัฒนาแอปพลิเคชันจะต้องติดตั้งโฟลเดอร์ 64 บิตในโฟลเดอร์อื่นเพื่อแยกโฟลเดอร์ออกจากกัน และอาจไม่มีมาตรฐานที่แท้จริงสำหรับที่นักพัฒนาติดตั้งเวอร์ชันต่างๆ

เหตุใดโฟลเดอร์ 32 บิตจึงมีชื่อว่า (x86)

คุณจะไม่เห็น“ 32 บิต” และ“ 64 บิต” เสมอไป ในบางครั้งคุณจะเห็น“ x86” และ“ x64” เพื่ออ้างถึงสถาปัตยกรรมทั้งสองที่แตกต่างกัน นั่นเป็นเพราะคอมพิวเตอร์รุ่นแรก ๆ ใช้ชิป Intel 8086 ชิปดั้งเดิมเป็นแบบ 16 บิต แต่เวอร์ชันที่ใหม่กว่ากลายเป็น 32 บิต ตอนนี้“ x86” หมายถึงสถาปัตยกรรมก่อน 64 บิตไม่ว่าจะเป็น 16 บิตหรือ 32 บิต สถาปัตยกรรม 64 บิตที่ใหม่กว่านี้เรียกว่า“ x64” แทน

นั่นคือความหมายของ“ Program Files (x86)” เป็นโฟลเดอร์ Program Files สำหรับโปรแกรมที่ใช้สถาปัตยกรรม CPU x86 รุ่นเก่า อย่างไรก็ตามโปรดทราบว่า Windows เวอร์ชัน 64 บิตไม่สามารถเรียกใช้รหัส 16 บิตได้

สิ่งนี้ไม่สำคัญ

ที่เกี่ยวข้อง: โฟลเดอร์ AppData ใน Windows คืออะไร?

โดยปกติไม่สำคัญว่าไฟล์ของโปรแกรมจะถูกเก็บไว้ใน Program Files หรือ Program Files (x86) Windows จะติดตั้งโปรแกรมลงในโฟลเดอร์ที่ถูกต้องโดยอัตโนมัติดังนั้นคุณจึงไม่ต้องคิดมาก โปรแกรมจะปรากฏในเมนูเริ่มและทำงานได้ตามปกติไม่ว่าจะติดตั้งที่ใดก็ตาม ทั้งโปรแกรม 32 บิตและ 64 บิตควรจัดเก็บข้อมูลของคุณในโฟลเดอร์เช่น AppData และ ProgramData ไม่ใช่ในโฟลเดอร์ Program Files ใด ๆ เพียงแค่ปล่อยให้โปรแกรมของคุณตัดสินใจโดยอัตโนมัติว่าจะใช้โฟลเดอร์ Program Files ใด

หากคุณใช้แอปแบบพกพาแอปสามารถเรียกใช้จากโฟลเดอร์ใดก็ได้ในระบบของคุณคุณจึงไม่ต้องกังวลว่าจะวางไว้ที่ใด เราชอบวางแอพพกพาไว้ใน Dropbox หรือโฟลเดอร์ที่เก็บข้อมูลบนคลาวด์ประเภทอื่นเพื่อให้สามารถใช้งานได้บนพีซีทุกเครื่องของเรา

บางครั้งคุณจำเป็นต้องทราบว่าโปรแกรมถูกจัดเก็บไว้ที่ใด ตัวอย่างเช่นสมมติว่าคุณต้องการเข้าไปในไดเรกทอรี Steam ของคุณเพื่อสำรองไฟล์บางไฟล์ คุณจะพบมันใน C: \ Program Files (x86) เนื่องจาก Steam เป็นโปรแกรม 32 บิต

หากคุณไม่แน่ใจว่าโปรแกรมที่คุณติดตั้งเป็น 64 บิตหรือไม่และคุณกำลังมองหาโฟลเดอร์การติดตั้งคุณอาจต้องค้นหาในโฟลเดอร์ Program Files ทั้งสองเพื่อค้นหา

คุณยังสามารถดูในตัวจัดการงานของ Windows 10

ใน Windows เวอร์ชัน 64 บิตโปรแกรม 32 บิตจะถูกแท็กด้วยข้อความ "(32 บิต)" เพิ่มเติมซึ่งจะบ่งชี้ว่าคุณจะพบสิ่งเหล่านี้ใน C: \ Program Files (x86)