이 노트에는 ctl3d32를 포함 한 MFC 두를 사용 하 여 구성 요소 설치에 대 한 요구 사항을 설명 합니다.DLL. 구성 요소 ODBC 및 DAO 관련 특별 고려 사항을 요구 하 고 여기에서 다루지 않습니다. 자세한 내용은 이러한 구성 요소에 대 한 설명서를 참조 하십시오。
Dll 및 버전 표시
MFC 두 공유 DLL 이라는 것입니다. MFC의 Win32 버전에 대 한 잠재적으로 단 하나의 MFC DLL 응용 프로그램을 설치 해야 하는: MFC4x.DLL 또는 이후 버전. 코어 MFC, MFC/OLE, MFC/데이터베이스 (이전 버전 했다 각 이러한 구성 요소를 별도 Dll로 세분화) MFC/네트워크 클래스에 필요한 모든 코드를 포함 하는 단일 DLL이。
MFC의 Macintosh 버전에 대 한 이들은 여전히 별도 Dll: MFC4x.DLL, MFCO4x.DLL, 및 MFCD4x.DLL (또는 이상 버전). 응용 프로그램이 모든 MFC Dll을 사용 하지 않는 경우에 (아마 사용 하지 않는 MFC의 OLE 또는 데이터베이스 기능 예를 들면), 집합으로 모든 MFC Dll을 설치 해야 합니다. 아무것도 일치 하지 않는 구성 요소를 초래할 것 이다. 최신 버전 mfc4x.dll의 mfco4x.dll의 버전 4.x와 함께 작동 합니다 보장이 없기 때문에 이것은 중요 하다。
이러한 Dll의 공유 구성 요소 이므로 Windows "시스템" 디렉터리에 상주 합니다. 즉, 그들은 GetSystemDirectory에서 반환 값에 의해 지정 된 디렉터리에 설치 되어야 한다. 이 디렉터리에 설치 하는, 다른 공유 시스템 구성 요소와 같이 이루어져야 합니다 신중 하 게 이전에 설치 된 다른 응용 프로그램에 의존 수 있습니다 DLL의 최신 버전을 덮어쓰지 않도록 하려면. GetFileVersionInfo Windows 버전 API에서 제공 하는 Api를 사용 하 여 설치 된 파일에 대 한 버전 정보를 검색 합니다. 해당 버전 정보를 주고 VS_FIXEDFILEINFO 구조체의 dwFileVersionMS 및 dwFileVersionLS 필드에 의해 이미 설치 된 DLL의 동일한 버전 정보 보다 큰 경우에 새 DLL을 설치 해야。
마지막으로, 응용 프로그램 ctl3d32에서 사용 하는 경우.DLL (해당 되는 경우 CWinApp::Enable3dControls호출) ctl3d32의 올바른 버전을 설치 해야 합니다.시스템 디렉터리에 DLL 다시 최신 버전 이미 존재 하지 않는 확인 하십시오 주의 되 고. 또한, ctl3d32의 버전입니다.설치 하는 DLL에 설치 하는 플랫폼에 따라 다르다.입니다. 윈도용 버전 4.0 이상, CTL3D32.DLL은 설치 하지 않아야 그래서 어떤 상황에서 사용 되지 않습니다 (Windows 95 및 Windows NT 4.0 포함). Win32s, \win32s\redist\ctl3d32에 대 한시스템 디렉터리에 DLL은 설치 해야 합니다. Windows NT 3.xx, \msdev\ctl3d32에 대 한시스템 디렉터리에 DLL은 설치 해야 합니다. 비록 그들은 같은 이름을 이러한 Dll의 각각은 대상 플랫폼에 맞게 됩니다. Win32s 버전 Windows nt; 실행 거부 Windows NT 버전 win32s에서 실행 거부。
지역화 고려 사항
응용 프로그램 설치 MFC4xLOC.DLL 또는 이후 버전의 MFC 리소스 사용을 지역화 하기로 했다, 하는 경우이 섹션의 지침에 따라 해야 합니다. 다른 공유 Dll과 같은 mfc4xloc.dll만 설치 해야 해당 버전이 이미 설치 되어 있는 버전 보다 최신 버전인 경우. 따라서이 DLL을 설치 하는 것은 매우 다른 MFC 두 설치 비슷합니다. 거기에 몇 가지 예외。
첫째, 당신은 결코 영어 시스템에서 mfc4xloc.dll를 설치 해야 합니다. 영어 리소스 mfc4x.dll에 내장 하 고 그 검색 (및 로드) 대신 DLL mfc4xloc.dll에서 그들을 처음 로드 하는 빠릅니다.
둘째, 거기에 여러 버전의 MFC4xLOC.DLL-각 로케일에 대 한 하나. 그들의 이름은 로케일을 기준으로 합니다. 예를 들면 MFC4xDEU.DLL mfc4xloc.dll의 독일어 버전은 ?; 독일어 로케일으로 식별 하는 버전 정보가 포함 되어 있습니다. MFC4xESP.DLL, 마찬가지로, 스페인어 버전의 DLL입니다. 당신이 그것을 설치 하는 경우 1) 로캘 것입니다 설치 되어 있는 Windows 시스템의 로케일과 일치 하 고 로케일은 이미 설치 (설치) 하는 경우 mfc4xloc.dll의 로케일에서 서로 다른 2)을 보장 해야 합니다. 이러한 두 조건이 충족 될 수 없습니다 DLL 덮어쓸 하지 해야 합니다. 기존 mfc4xloc.dll의 버전 표시 버전 마크 보다 크거나 귀하의 분포에서 면 당신은 제품이 설치 된 후 작동 합니다. 그것은 자원 (일부 다른 한 언어의 일부), 혼합 수 있습니다 하지만 그것을 작동 합니다. 기존 dll 버전 마크를 사용 하면 배포 보다 작으면 로캘이 일치 하는 경우 귀하의 제품은 일단 설치 되 면 작동 하지 않을 수 있습니다. 이 불일치의 사용자에 게 경고 하 고 설치 과정을 다시 해야 합니다. 계속 하기 전에이 DLL 및 제품 간의 충돌을 해결 하는 사용자가。
중요nbsp;??물론,이 추가할 수 복잡성을 많이 혼란 뿐만 아니라 귀하의 설치 최종 사용자에 대 한 그들이 사용 하 고 다른 지역화 된 응용 프로그램 (일부 응용 프로그램 언어와 일부 다른 지역화)의 믹스를 설치 하는 경우. 이 난이도의 때문에 mfc4xloc.dll의 모든 버전을 제공 하지 않는 것이 좋습니다. 대신, 자체 모듈에 적절 한 MFC 구현 리소스를 포함 하 고이 모든 문제를 방지 합니다. 이 주제에 대 한 자세한 내용은 기술 노트 57 를 참조 하십시오(&N).
기술 노트 번호로 |nbsp; 카테고리별 기술 노트(&N)