IFkO
Moderator | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору "Уважаемые товарищи потомки! Роясь в сегодняшнем окаменевшем г*не..." (С) Маяковский Итак, роясь в окаменевшем дистрибутиве Windows 98Se, обнаруживаю в APPLETS.INF: [mfcdlls.files] mfc42.dll,,,32 ;32 flag suppresses ver conflict dlgs mfc30.dll mfcans32.dll,,,32 mfco30.dll,,,32 mfcd30.dll,,,32 mfcn30.dll,,,32 mfcuia32.dll cabinet.dll mfc30loc.dll,,,32 mfc42loc.dll,,,32 аналогичный раздел нахожу в WORDPAD.INF: ;list of files to copy to the \windows\system directory goes here: [mfcdllsx.files] mfc30.dll mfc30loc.dll,,,32 mfcans32.dll,,,32 ;32 flag suppresses ver conflict dlg mfco30.dll,,,32 mfcd30.dll,,,32 mfcn30.dll,,,32 ; new one added with mfc 3.01 version mfcuia32.dll mfc42.dll,,,32 mfc42loc.dll,,,32 riched32.dll,,,32 riched20.dll,,,32 riched.dll,,,32 соответственно есть и аналогичные разделы регистрации: [mfcdlls.register] ;Register shared DLLs: HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs,%11%\mfc30.dll,1,01,00,00,00 HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs,%11%\mfcans32.dll,1,01,00,00,00 HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs,%11%\mfco30.dll,1,01,00,00,00 HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs,%11%\mfcd30.dll,1,01,00,00,00 HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs,%11%\cabinet.dll,1,01,00,00,00 и [mfcdllsx.register] ;Register shared DLLs: HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs,%11%\mfc30.dll,1,01,00,00,00 HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs,%11%\mfc30loc.dll,1,01,00,00,00 HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs,%11%\mfcans32.dll,1,01,00,00,00 HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs,%11%\mfco30.dll,1,01,00,00,00 HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs,%11%\mfcd30.dll,1,01,00,00,00 HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs,%11%\mfcn30.dll,1,01,00,00,00 HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs,%11%\mfcuia32.dll,1,01,00,00,00 HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs,%11%\mfc42.dll,1,01,00,00,00 HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs,%11%\mfc42loc.dll,1,01,00,00,00 HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs,%11%\riched32.dll,1,01,00,00,00 Из чего очевидный вывод: эти DLL нужны PAINTу и WORDPADу Ковыряю эти списки. кладутся в систему всегда: в subase.inf в разделе [winbase]: mfc30.dll mfc30loc.dll mfc42.dll mfc42loc.dll riched.dll riched20.dll riched32.dll в ole2.inf в разделе [MS_OLE2_32Bit]: mfcuia32.dll в ole2.inf в разделе [MSIE4f_Inst]: cabinet.dll Имеем в остатке: mfcans32.dll mfco30.dll mfcd30.dll mfcn30.dll Смотрим, кому они нужны: mfcans32.dll нужна mfco30.dll (своей сестре по этому списку) и mfcuia32.dll Вот это номер! Выходит, в системе лежит mfcuia32.dll, НЕРАБОЧАЯ без mfcans32.dll!!! Но при этом никому не нужны: mfco30.dll mfcd30.dll mfcn30.dll В том числе - заказавшим их PAINT и WORDPAD! Я это не могу объяснить иначе чем невнимательностью сборщиков дистрибутива Windows 98SE Или я не понимаю, как работают библиотеки MFC? |