หมายเหตุนี้อธิบายถึงความต้องการสำหรับการติดตั้งคอมโพเนนต์ใด ๆ ที่ใช้ DLL(s) MFC รวมทั้ง CTL3D32DLL ที่เกี่ยวข้องกับคอมโพเนนต์ ODBC และดาวต้องใช้ข้อพิจารณาพิเศษ และไม่อธิบายที่นี่ โปรดดูเอกสารประกอบสำหรับคอมโพเนนต์เหล่านั้นสำหรับข้อมูลเพิ่มเติม?
Dll และเครื่องหมายเวอร์ชัน
DLL(s) MFC มีสิ่งที่เรียกว่า DLL ที่ใช้ร่วมกัน สำหรับรุ่น Win32 ของ MFC ไม่มีอาจเพียงหนึ่ง MFC DLL ที่คุณจำเป็นต้องติดตั้งโปรแกรมประยุกต์ของคุณ: MFC4x.DLL หรือรุ่นที่ใหม่กว่า DLL เดียวนี้ประกอบด้วยโค้ดทั้งหมดที่จำเป็นสำหรับหลัก MFC, MFC/OLE, MFC/ฐาน ข้อมูล และคลาสที่ MFC/เครือ ข่าย (รุ่นก่อนหน้านี้ได้แต่ละคอมโพเนนต์เหล่านี้แตกออกเป็น Dll ที่แยกต่างหาก)?
สำหรับ Macintosh รุ่นของ MFC เหล่านี้จะยังคงแยก Dll: MFC4x.DLL, MFCO4x.DLL และ MFCD4x.DLL (หรือรุ่นที่ใหม่กว่า) แม้ว่าโปรแกรมประยุกต์ของคุณไม่ได้ใช้ทั้งหมดของ Dll MFC (บางทีไม่ได้ใช้การทำงาน OLE หรือฐานข้อมูลของ MFC ตัวอย่าง), คุณต้องติดตั้งทั้งหมดของ Dll MFC ที่เป็นชุด อะไรให้ผลลัพธ์ในคอมโพเนนต์ไม่ตรงกัน นี้เป็นสิ่งสำคัญเนื่องจากไม่มีหลักประกันที่เวอร์ชันใหม่กว่าของ MFC4x.DLL จะทำงานกับรุ่น 4.x ของ MFCO4x.DLL?
เนื่องจาก Dll เหล่านี้เป็นคอมโพเนนต์ที่ใช้ร่วมกัน พวกเขาอยู่ในไดเรกทอรี "ระบบ" ของ Windows กล่าวคือ พวกเขาควรติดตั้งลงในไดเรกทอรีที่ระบุ ด้วยค่าส่งกลับจากGetSystemDirectory ติดตั้งในไดเรกทอรีนี้ เหมือนกับส่วนประกอบอื่น ๆ ของระบบที่ใช้ร่วมกัน ต้องทำอย่างรอบคอบเพื่อหลีกเลี่ยงการเขียนทับรุ่นที่ใหม่กว่าของ DLL ที่โปรแกรมประยุกต์อื่นที่ติดตั้งไว้ก่อนหน้านี้ อาจจะใช้เมื่อ เมื่อต้องการเรียกใช้ข้อมูลของรุ่นสำหรับแฟ้มการติดตั้ง ใช้GetFileVersionInfo APIs โดย Windows รุ่น API คุณเท่านั้นควรติดตั้ง DLL ใหม่ถ้าเวอร์ชันข้อมูล ให้ โดยเขตข้อมูลdwFileVersionMSและdwFileVersionLSของโครงสร้างVS_FIXEDFILEINFOไม่มีขนาดใหญ่กว่าข้อมูลรุ่นเดียวกันของ DLL ติดตั้งไว้เรียบร้อยแล้ว?
สุดท้าย ถ้าโปรแกรมประยุกต์ของคุณใช้ CTL3D32DLL (ถ้าเรียกCWinApp::Enable3dControls), คุณจะต้องติดตั้ง CTL3D32 รุ่นที่ถูกต้องDLL ลงในไดเรกทอรีระบบ อีกครั้ง มีการระมัดระวังในการตรวจสอบว่า รุ่นใหม่กว่าที่ไม่มีอยู่ นอกจากนี้ รุ่นของ CTL3D32DLL ที่คุณติดตั้งอยู่ที่แตกต่างกันขึ้นอยู่กับแพลตฟอร์มที่คุณติดตั้งบน สำหรับ Windows รุ่น 4.0 และรุ่นที่ใหม่ กว่า CTL3D32DLL ไม่ใช้ภายใต้สถานการณ์ใด ดังนั้นควรไม่สามารถติดตั้ง (ซึ่งรวมถึง Windows 95 และ Windows NT 4.0) สำหรับ Win32s, \WIN32S\REDIST\CTL3D32DLL ควรมีการติดตั้งลงในไดเรกทอรีระบบ สำหรับ Windows NT 3.xx, \MSDEV\CTL3D32DLL ควรมีการติดตั้งลงในไดเรกทอรีระบบ Dll เหล่านี้แต่ละจะระบุเฉพาะเจาะจงเป้าหมายแพลตฟอร์ แม้ว่าจะมีชื่อเดียวกัน รุ่น Win32s จะปฏิเสธการทำงานบน Windows NT รุ่น Windows NT จะปฏิเสธการทำงานบน Win32s?
ข้อควรพิจารณาในการปรับภาษา
ถ้าโปรแกรมประยุกต์ของคุณได้เลือกที่จะทราบตำแหน่งของการใช้ทรัพยากร MFC โดยติดตั้ง MFC4xLOC.DLL หรือรุ่นที่ใหม่กว่า คุณจำเป็นต้องทำตามคำแนะนำในส่วนนี้ เหมือน Dll อื่นที่ใช้ร่วมกัน MFC4xLOC.DLL ควรเท่านั้นสามารถติดตั้งถ้าเป็นรุ่นใหม่กว่ารุ่นที่ติดตั้งอยู่แล้ว ผลที่ ติดตั้ง DLL นี้จะคล้ายกันมากกับการติดตั้ง DLL(s) MFC อื่น ๆ มีสองข้อยกเว้น?
ครั้งแรก คุณควรไม่ติดตั้ง MFC4xLOC.DLL บนระบบเป็นภาษาอังกฤษ ทรัพยากรภาษาอังกฤษมีอยู่แล้วภายใน MFC4x.DLL และจะเร็วกว่าโหลดได้จาก MFC4xLOC.DLL ที่ DLL ของคุณแทนที่จะค้นหา (และโหลด) ครั้งแรก?
ประการที่สอง มี MFC4xLOC.DLL หนึ่งสำหรับตำแหน่งที่ตั้งของแต่ละรุ่นต่าง ๆ ชื่อของพวกเขาจะยึดตามตำแหน่งที่ตั้ง ตัวอย่างเช่น MFC4xDEU.DLL เป็น MFC4xLOC.DLL รุ่นภาษาเยอรมัน ประกอบด้วยข้อมูลของรุ่นที่ระบุว่าเป็นตำแหน่งที่ตั้งของเยอรมัน MFC4xESP.DLL เป็น DLL รุ่นภาษาสเปนในทำนองเดียวกัน ถ้าคุณติดตั้ง คุณต้องทำประกันที่ 1) ที่ตำแหน่งที่ตั้งที่โดยมีวัตถุประสงค์ตรงกับตำแหน่งที่ตั้งของระบบ Windows ที่ติดตั้ง และ 2) ว่า ตำแหน่งที่ตั้งที่ไม่แตกต่างจากตำแหน่งกระทำการของ MFC4xLOC.DLL ติดตั้งแล้ว (ถ้ามีการติดตั้ง) ถ้าไม่พอใจ สองเงื่อนไขเหล่านี้แล้ว DLL ควรไม่ถูกเขียนทับ ถ้าเครื่องหมายเวอร์ชันบน MFC4xLOC.DLL อยู่คือเท่ากับ หรือสูงกว่าเครื่องหมายเวอร์ชันในการแจกจ่ายของคุณ แล้วคุณกำลังผลิตภัณฑ์จะทำการติดตั้งเพียงครั้งเดียว มันอาจผสมทรัพยากร (บางภาษาหนึ่ง อีกบาง), แต่จะทำงาน ถ้าเป็นเครื่องหมายเวอร์ชันใน DLL ที่มีอยู่น้อยกว่าการแจกจ่ายของคุณ และตำแหน่งที่ตั้งไม่ตรง ผลิตภัณฑ์ของคุณอาจไม่ทำงานเมื่อมีการติดตั้ง คุณควรเตือนผู้ใช้ไม่ตรงนี้ไป และกลับจากกระบวนการติดตั้งของคุณ ผู้ใช้จะต้องแก้ไขความขัดแย้งระหว่างนี้ DLL และผลิตภัณฑ์ของคุณก่อนที่จะดำเนินการต่อไป?
สิ่งสำคัญnbsp แน่นอน นี้สามารถเพิ่มความซับซ้อนมากมายของคุณติดตั้งตลอดจนเพิ่มสำหรับผู้ใช้ของคุณถ้าพวกเขาใช้ และติดตั้งแบบผสมต่างถิ่นประยุกต์ (โปรแกรมประยุกต์บางถิ่นภาษาหนึ่ง และบางอย่างอื่น) เนื่องจากความยากนี้ จะขอแนะนำว่า คุณไม่มีส่ง MFC4xLOC.DLL รุ่นใดก็ แทน รวมถึงการใช้ทรัพยากรที่เหมาะสมของ MFC ในโมดูลของคุณเอง และหลีกเลี่ยงปัญหานี้ทั้งหมด ดูที่57 หมายเหตุทางเทคนิคสำหรับข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้(&N)?
หมายเหตุด้านเทคนิคตามหมายเลข|nbsp หมายเหตุด้านเทคนิคตามประเภท(&N)