ฉันใช้ Windows 7 รุ่น 64 บิตตั้งแต่ CTP และพบปัญหาเล็กน้อยเกี่ยวกับแอปพลิเคชันที่ติดตั้งในC:\Program Files (x86)
โฟลเดอร์ วัตถุประสงค์ของการมี 2 ไดเรกทอรีไฟล์โปรแกรมแยกต่างหากคืออะไร?
ทุกโปรแกรมที่ฉันติดตั้งเข้าไปในC:\Program Files (x86)
โฟลเดอร์แล้ว ดูเหมือนจะไม่สำคัญว่าแอพนี้มีขนาด 32 หรือ 64 บิต ทำไมคุณไม่ปพลิเคชัน 64 บิตได้รับการวางไว้ในC:\Program Files
?
มีวิธีการเปลี่ยนค่าเริ่มต้นที่จะมาC:\Program Files
แทนที่หรือไม่? มันจะเลอะเทอะถ้าฉันใส่ทุกอย่างลงไปC:\Program Files
?
หากมีประโยชน์บางอย่างในการมีโฟลเดอร์แยกต่างหากสำหรับแอพ 64 บิตดูเหมือนว่าค่าเริ่มต้นที่สมเหตุสมผลจะต้องใช้C:\Program Files
กับแอพ x86 และสร้างC:\Program Files (x64)
โฟลเดอร์ใหม่สำหรับแอป 64 บิตใหม่ สิ่งนี้จะช่วยรักษาความเข้ากันได้ย้อนหลัง C:\Program Files
ผมทำงานเป็นนักพัฒนาซอฟต์แวร์และบางส่วนของโครงการของฉันมีการอ้างอิงเส้นทางไปยังห้องสมุดภายใต้ ตอนนี้อ้างอิงเหล่านี้จะเสียบนเครื่อง Windows 7 C:\Program Files (x86)
ที่ได้วางไว้ใน ฉันได้ลองเปลี่ยนตำแหน่งเป้าหมายในตัวติดตั้งเป็นC:\Program Files
แต่มันก็ถูกเพิกเฉยและแอพก็ยังเข้าไปC:\Program Files (x86)
อยู่ดี
สิ่งนี้น่าผิดหวังมากเพราะฉันต้องการแบ่งปันซอร์สโค้ดระหว่างเครื่อง 32-64 บิตและฉันไม่ต้องการยุ่งกับไฟล์กำหนดค่าบางอย่างที่กำหนดพา ธ ไปยังไลบรารี่เหล่านี้ในเครื่องที่แตกต่างกัน
แก้ไขเกี่ยวกับตัวแปรสภาพแวดล้อม: (. โดยใช้เพียงค่าเริ่มต้นของตัวแปรภาษาอังกฤษสำหรับความเรียบง่าย) บนเครื่อง 64 บิต%ProgramFiles%
จะเป็นC:\Program Files
ในขณะที่แบรนด์ตัวแปรใหม่จะ%ProgramFiles(x86)%
C:\Program Files (x86)
ดังนั้นหากคุณมีโปรแกรม 32 บิตที่ต้องการค้นหาเส้นทางโฟลเดอร์ที่จะติดตั้งภายใต้จะต้องตรวจสอบเพื่อดูว่ามันทำงานบน Windows รุ่น 32 บิตหรือ 64 บิตตามลำดับ เพื่อทราบตัวแปรสภาพแวดล้อมที่จะใช้ แอป 32 บิตใด ๆ ที่เขียนขึ้นโดยไม่มีการพิจารณานี้จำเป็นต้องได้รับการอัปเดตเพื่อให้ทำงานได้อย่างถูกต้องบนเครื่อง 64 บิต ดังนั้นแม้แต่การใช้ตัวแปรสภาพแวดล้อมความเข้ากันได้แบบย้อนหลังก็ใช้งานไม่ได้
ยัง%ProgramFiles(x86)%
ไม่มีอยู่ใน Windows รุ่น 32 บิต ถ้าเป็นเช่นนั้นแสดงว่าแอป 32 บิตสามารถใช้ตัวแปรสภาพแวดล้อมนั้นตลอดเวลาและไม่จำเป็นต้องใช้ตรรกะตามเงื่อนไขใด ๆ โดยขึ้นอยู่กับระบบปฏิบัติการที่ใช้งานอยู่
%ProgramFiles%
ตัวแปรสภาพแวดล้อมจะแก้ไขได้ไหม ไม่แน่ใจว่ามันจัดการกับความแตกต่างของ x86 / 64 บิตได้อย่างไร