В настоящей записке описываются требования для установки любого компонента, который использует MFC DLL(s), включая CTL3D32.DLL. компоненты, относящиеся к DAO и ODBC требует особых соображений и здесь не обсуждаются. Обратитесь к документации для этих компонентов для получения дополнительной информации.
Библиотеки DLL и версии знаки
MFC DLL(s) являются то, что называется общей библиотеке DLL. Для Win32 версии MFC, существует потенциально только один DLL MFC, вам необходимо установить с вашим приложением: 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 интерфейсов API, предоставляемые Windows версии API. Необходимо устанавливать только новую библиотеку DLL если сведения о его версии, дают полями dwFileVersionMS и dwFileVersionLS структуры VS_FIXEDFILEINFO больше, чем же сведения о версии уже установленного библиотеки DLL.
И наконец если ваше приложение использует CTL3D32.DLL (если он вызывает CWinApp::Enable3dControls), вам нужно будет установить правильную версию CTL3D32.Библиотеки DLL в системном каталоге, снова соблюдая осторожность, чтобы проверить, что более новая версия еще не существует. Кроме того, в версии CTL3D32.DLL, на которую вы устанавливаете отличается в зависимости от устанавливаемого на платформе. Для Windows версии 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.
Вопросы локализации
Если ваше приложение выбрал для локализации его использование ресурсов MFC, установка MFC4xLOC.DLL или более поздней версии, необходимо будет следовать инструкциям в данном разделе. Как и другие общие DLL MFC4xLOC.DLL следует установить только если его версия новее, чем версия, которая уже установлена. В результате установки DLL очень похож на установке MFC DLL(s). Существует несколько исключений.
Во-первых вы никогда не должны установить MFC4xLOC.DLL на английской системе. Ресурсы на английском языке, встроенные в MFC4x.DLL и он быстрее сначала загрузить их из этой DLL вместо поиска (и загрузка) MFC4xLOC.DLL.
Во-вторых существует несколько версий MFC4xLOC.DLL – один для каждой локали. Их имена на основе языкового стандарта. Например MFC4xDEU.DLL является немецкая версия MFC4xLOC.DLL-он содержит сведения о версии, которая идентифицирует его как немецкий язык; Аналогично, MFC4xESP.dll, является испанская версия DLL. Если вы устанавливаете его, должен застраховать 1) языковой стандарт, для которого он предназначен соответствует язык системы Windows, которая установлена, и 2), что языковой стандарт не отличается от языка MFC4xLOC.DLL, уже установлен (если он установлен). Если эти два условия не могут быть удовлетворены, то DLL должен не будет перезаписан. Если версия знак на существующих MFC4xLOC.DLL равен или больше, чем версия Марк в вашем дистрибутиве, то вы продукт будет работать после установки. Он может иметь смешанные ресурсов (некоторые из одного языка, некоторые из другого), но он будет работать. Если версии знак на существующих DLL меньше, чем ваши рассылки и несовпадающими локаль, ваш продукт могут не работать после установки. Вам следует предупредить пользователя этого несоответствия и обратно из процесса установки. Пользователю будет нужно разрешить конфликт между этой DLL и ваш продукт перед продолжением.
Важно Очевидно это может добавить много сложности вашей установки, а также трудности для конечного пользователя если они используют и установить сочетание различных локализованных приложений (некоторые приложения на одном языке, а некоторые в другой). Из-за этой трудности, он настоятельно рекомендуется не корабль любой версии MFC4xLOC.DLL. Вместо этого включать соответствующие ресурсы реализации MFC в вашем модуле, сам и избежать этой всей проблемы. Техническое примечание 57 более подробная информация по этой теме.
Технические примечания по номеру |nbsp; Технические примечания по категориям