โฮมเพจ » ทำอย่างไร » อะไรคือความแตกต่างระหว่างโฟลเดอร์“ Program Files (x86)” และ“ Program Files” ใน Windows?

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

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

    Windows รุ่น 32 บิตและ 64 บิต

    เดิมที Windows นั้นมีให้ใช้งานเป็นระบบปฏิบัติการ 32 บิตเท่านั้น ใน Windows รุ่น 32 บิตแม้กระทั่งรุ่น 32 บิตของ Windows 10 ซึ่งยังคงมีอยู่ในปัจจุบันคุณจะเห็นโฟลเดอร์“ 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 ใช้โฟลเดอร์โปรแกรมไฟล์เดียว แอปพลิเคชัน 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-bit” และ“ 64-bit” เสมอไปบางครั้งคุณจะเห็น“ x86” และ“ x64” เพื่ออ้างอิงถึงสถาปัตยกรรมที่แตกต่างกันสองแบบ นั่นเป็นเพราะคอมพิวเตอร์รุ่นแรก ๆ ใช้ชิป Intel 8086 ชิปดั้งเดิมมีขนาด 16 บิต แต่รุ่นที่ใหม่กว่ากลายเป็น 32 บิต “ x86” ตอนนี้อ้างถึงสถาปัตยกรรมล่วงหน้า 64 บิตไม่ว่าจะเป็น 16 บิตหรือ 32 บิต สถาปัตยกรรม 64- บิตที่ใหม่กว่าเรียกว่า "x64" แทน.

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

    เรื่องนี้ไม่ได้เรื่องปกติ

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

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

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

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

    นอกจากนี้คุณยังสามารถดูใน Task Manager ของ Windows 10.

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