Этот раздел может быть и не Важен, если Вы разрабатываете приложения для себя, но вот если Вы собираетесь его распространять неплохо бы иметь некоторые знания по данному вопросу. В любом случае инсталляцию надо представлять как будто она производится на пустой компьютер с Windows. Так что давайте выясним некоторые подробности. Первое, написанный Вами код не будет включать все, что необходимо вашей программе, особенно если вы пользуетесь Dinamic Link. MFC появилась не вчера и у нее есть тоже версии. Весь код MFC находится в DLL и эти файлы имеют имена типа MFCxx.DLL. Ну, например:
...... MFC30.DLL MFC40.DLL ......
Соотвественно Вам неплохо бы знать какую Версию Вы используете для компиляции, и при этом такая же DLL должна быть в системе. На данный момент MFCxx.DLL является частью системы Windows. Слишком много программного обеспечения используют их для работы. Например, в поставке Windows 95 есть такие библиотеки:
Win95_02.cab mfc30.dll 322,832 07-11-1995 9:50:00a mfcd30.dll 55,808 07-11-1995 9:50:00a mfcn30.dll 15,872 07-11-1995 9:50:00a mfco30.dll 133,392 07-11-1995 9:50:00a Win95_03.cab mfcans32.dll 133,904 07-11-1995 9:50:00a
Debug версии отличаются от версий Release наличием буковки D. А вот это немного опаснее. Так как, если Вы скомпилировали отладочную версию, то надеяться на то, что в системе уже есть такие библиотеки точно не стоит. Вот пример соответствия.
Release Debug MFCxx.DLL MFCxxD.DLL MFCNxx.DLL MFCNxxD.DLL
Соотвественно DLL имеющие отношений к UNICODE тоже будут иметь свою буковку U. Все остальное по правилам. Вот смотрите.
Unicode Unicode Debug MFCxx.DLL MFCxxU.DLL MFCxxUD.DLL
Естественно, что MFC по причине своего размера разбита на части в виде отдельных DLL:
MFCxx.ВLL Основная MFCOxx.DLL OLE MFCDxx.DLL Базы данных MFCNxx.DLL Сеть
Основной модуль MFC может быть выполнен в виде static или dinamic компоновки. Они тоже отличаются по букве S.
Динамическая компоновка Статическая компоновка MFCxx.LIB MFCSxx.LIB
Есть и отдельные заплатки, например, библиотека MFCANS32.DLL занимается конвертацией UNICODE-MBCS. Но это специфичная библиотека.
Все библиотеки MFCxx.DLL используют <>MSVCRTxx.DLL, то есть она тоже должна обязательно быть установлена. Эта библиотека используется для распределения памяти. Кстати она и не идет в поставке Windows 95, поэтому Вы должны позаботиться о ее наличии.