Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка Windows 2000/XP/2003 (http://forum.oszone.net/forumdisplay.php?f=32)
-   -   В каких же случаях диск без папки Lang может "не признать" утилита sfc ? (http://forum.oszone.net/showthread.php?t=109830)

truvo 24-06-2008 04:14 833301

В каких же случаях диск без папки Lang может "не признать" утилита sfc ?
 
В пособии по урезанию дистрибутива Windows - статье "Экономим место на диске" http://forum.oszone.net/newthread.php?do=newthread&f=6 сказано:
Цитата:

Если у вас локализованная версия ХР, можете удалить папку LANG.
Примечание. Диск без папки LANG может не признать утилита проверки целостности системных файлов SFС.
И возникает вопрос гамлетовский: так удалять или не удалять указанную папку? Всё ж таки целых 99 Мб, иногда это актуально...
И в данном случае ключевое слово в цитате - "может не признать". То есть, получается, - когда признает, а когда и нет.
Может ли общественность поделиться своими соображениями - от чего именно это зависит, и - как у вас?

Petya V4sechkin 24-06-2008 12:21 833509

truvo, насчет Sfc не уверен, но без этих 74 файлов при установке в Setupapi.log будут ошибки (некритичные):
Список
Код:

CHAJEI.IM_
CHSBRKR.DL_
CHTBRKR.DL_
CHTMBX.DL_
CHTSKDIC.DL_
CHTSKF.DL_
CINTIME.DL_
CINTLGNT.IM_
CINTSETP.EX_
CPLEXE.EX_
DAYI.IM_
HANJA.LE_
HANJADIC.DL_
HWXCHT.DL_
HWXJPN.DL_
HWXKOR.DL_
IMEKR.LE_
IMEKR61.IM_
IMEKRCIC.DL_
IMEKRMBX.DL_
IMEKRMIG.EX_
IMEPADSM.DL_
IMEPADSV.EX_
IMJP81.IM_
IMJP81K.DL_
IMJPCIC.DL_
IMJPCUS.DL_
IMJPDADM.EX_
IMJPDCT.DL_
IMJPDCT.EX_
IMJPDSVR.EX_
IMJPINST.EX_
IMJPMIG.EX_
IMJPRW.EX_
IMJPUEX.EX_
IMJPUTY.EX_
IMJPUTYC.DL_
IMKRINST.EX_
IMLANG.DL_
IMSCINST.EX_
IMSKDIC.DL_
IMSKF.DL_
KORWBRKR.DL_
KORWBRKR.LE_
MSIR3JP.DL_
MSIR3JP.LE_
MULTIBOX.DL_
PADRS404.DL_
PADRS411.DL_
PADRS412.DL_
PADRS804.DL_
PHON.IM_
PINTLCSA.DL_
PINTLCSD.DL_
PINTLGNT.IM_
PINTLPHR.EX_
PMIGRATE.DL_
QUICK.IM_
ROMANIME.IM_
SOFTKEY.DL_
TINTLGNT.IM_
TINTLPHR.EX_
TINTSETP.EX_
TMIGRATE.DL_
UNICDIME.IM_
UNIIME.DL_
VOICEPAD.DL_
VOICESUB.DL_
WINAR30.IM_
WINGB.IM_
WINIME.IM_
WINPY.IM_
WINSP.IM_
WINZM.IM_


truvo 24-06-2008 16:36 833782

Petya V4sechkin, что-то у меня на виртуалке указанных вами ошибок не видно, а папку удалял...

komiksoft 25-06-2008 10:03 834367

truvo,
указанные файлы находятся в списке защищаемых в SfcFiles.dll.
Если WFP у Вас не отключена, а папка LANG удалена - то sfc /scannow обязательно ругнётся.
Пропачте SfcFiles.dll указав в KillWpf.lst оригинальные имена этих файлов.

truvo 12-09-2008 18:48 897402

Цитата:

Цитата komiksoft
оригинальные имена этих файлов »

Это какие - те имена, что в папке Lang или те, что внутри расположенных там архивов?

Mr dUSHA 12-09-2008 20:37 897506

Цитата:

Цитата komiksoft
Если WFP у Вас не отключена, а папка LANG удалена - то sfc /scannow обязательно ругнётся. »

Сканер проверяет не наличие/отсутствие защищаемого файла в папке и подпапках установленной ОС, а перебирает последовательно все файлы в защищаемых каталогах. Во время этого процесса каждый файл сначала проверяется на присутствие в списке защиты, и если присутствует в нем, то проверяется его цифровая подпись. При отсутствии подписи происходит восстановление файла из дистрибутива.
Папка LANG может понадобиться только если оригинал восстанавливаемого поврежденного файла в дистрибутиве находится в этой самой папке LANG.

truvo 12-09-2008 23:33 897627

Mr dUSHA, мне был бы интересен ваш отклик на первый пост в теме. Может, мне не нужно заморачиваться с файлом killwfp.lst, если удалю папку LANG?

Mr dUSHA 13-09-2008 00:30 897688

Цитата:

Цитата truvo
Может, мне не нужно заморачиваться с файлом killwfp.lst, если удалю папку LANG? »

Не нужно абсолютно.
SFC ни каким образом не проверяет наличие её, если только не понадобится восстановить файл, который в дистрибутиве именно в ней лежит.

По поводу самой же папки LANG - мое ИМХО саму папку оставлять, но опустошать ее.

Например при переносе дистрибутива на RIS, мастер создания дистрибутива ругается и останавливает свою работу при отсутствии этой папки а также WIN9XMIG, WIN9XUPG, WINNTUPG. Но если просто опустошать эти папки, оставляя их в дистрибутиве, то все проходит нормально.

WINNTUPG конечно вообще трогать не следует, для возможности запуска установки в режиме обновления прямо из уже работающей ХР, а папки WIN9X* нужны для установки ХР поверх WIN98 в режиме обновления с сохранением настроек, что в наше время ИМХО не актуально вообще.

komiksoft 13-09-2008 01:30 897747

truvo, попробуйте удалите в дистрибутиве папку LANG, установите систему, запустите sfc. Убедитесь наглядно, что sfc будет требовать оригинальный диск.
По поводу имён файлов в killwfp.lst - там должны быть имена распакованых файлов.

Mr dUSHA, система защиты получает список защищенных файлов с полными путями из библиотеки SfcFiles.dll.
Если папки нет, а библиотека не пропатчена - будут ошибки - проверено не однократно.

Mr dUSHA 13-09-2008 03:27 897776

komiksoft, /scannow проверяет только реально присутствующие в установленной системе файлы.
Если бы она восстанавливала все файлы, которые есть в списке SfcFiles, то после первой же проверки насосала из дистрибутива кучу файлов, от опциональных и по-умолчанию не устанавливаемых (или отключенных в том же WINNT.SIF) компонентов Windows.

Цитата:

Цитата komiksoft
Если папки нет, а библиотека не пропатчена - будут ошибки - проверено не однократно. »

Приведите тогда записи событий от WFP из системного журнала после такой проверки, где указано, какие (из тех, которые в дистрибутиве в папке LANG лежат) файлы восстанавливались/были попытки восстановить, и по какой причине.

zeroua 13-09-2008 04:58 897789

Mr dUSHA, truvo, лично я перестал удалять папку после того как на один из ноутбуков не захотел ставится с образа на котором она была удалена ... с аналогичного диска но без удаления папки все было пучком ... согласен что если уже намерились удалять папку, то лутше не ее саму, а ее содержимое ...

komiksoft 13-09-2008 15:41 898106

Mr dUSHA, вот пожалуйста:

1. убрал из killwfp.lst файл chajei.ime, удалил LANG.
2. пересобрал дистрибутив.
3. после установки и запуска sfc получил в журнале событий вот это:

Цитата:

Windows File Protection
Не удалось скопировать системный файл f:\windows\system32\chajei.ime в кэш DLL. Код ошибки:0x000004c7
[Операция была отменена пользователем].
Этот файл необходим для обеспечения стабильности системы.
Корректен ли вывод о том, что
Цитата:

Цитата Mr dUSHA
проверяет только реально присутствующие в установленной системе файлы »

?

truvo 14-09-2008 03:16 898610

Рапортую для истории: собрал дистрибутив, в котором:
1) удалил файлы из папки Lang
2) внес их в список killwfp.lst
3) саму папку Lang оставил, оставил также пустые папки WIN9XMIG, WIN9XUPG, WINNTUPG.
В такой ситуации-комбинации на виртуалке проверка sfc /scannow прошла без вопросов.

Vadim_SVN 17-09-2008 15:44 901703

Цитата:

Цитата Petya V4sechkin
без этих 74 файлов при установке в Setupapi.log будут ошибки (некритичные): »

Я меня в этой папке однозначно больше файлов, или это список только тех файлов, которые защищены?

Цитата:

Цитата truvo
внес их в список killwfp.lst »

2truvo, будь любезен, прикрепи пожалуйста сюда этот файлик :)

Mr dUSHA 17-09-2008 17:26 901806

Цитата:

Цитата komiksoft
Корректен ли вывод о том, что »

Гм... выходит, что не совсем.
Описаный вами механизм пытается закешировать все файлы, описаные в списке sfcfiles в каталог dllcache.
Возможно, без добавления файлов в killwfp.lst, поможет установка размера кеша равным нулю (sfc /cachesize=0), если это вам конечно приемлемо...

Цитата:

Цитата Vadim_SVN
будь любезен, прикрепи пожалуйста сюда этот файлик »

Вы можете сами сделать себе список всех файлов вашего каталога просто перейдя в этот каталог в консоли, и выполнив команду:
dir /b > list.txt

В результате в list.txt окажется список всех файлов этого каталога, без путей и прочего мусора (для данного случая), который выводит команда dir без параметров.
Потом только с этого списка сам файл list.txt удалите.

truvo 18-09-2008 01:04 902096

Цитата:

Цитата Mr dUSHA
Вы можете сами сделать себе список всех файлов вашего каталога »

А можно еще так: в Total Commander выделить все файлы в папке (клавиша *), далее в меню "Выделение" - "Сохранить выделение в файл".

Vadim_SVN 22-09-2008 16:00 905728

Вложений: 1
Это-то все понятно и безпроблемно.
Интересуют конечные расширения файлов, ведь в killwfp.lst нужны названия файлов, получающихся после декомпрессии ...

komiksoft 23-09-2008 16:20 906730

Vadim_SVN,
в текстовом редакторе в Вашем списке, поиском и заменой меняете:
.im_ на .ime, .dl_ на .dll, .ex_ на .exe, .le_ на .lex

Получится вот это:
Код:

chajei.ime
cintlgb.ime
cintlgd.ime
cintlgie.ime
cintlgl.ime
cintlgnt.ime
cintlgs.ime
cintlgsi.ime
cintlgu.ime
cintlguc.ime
dayi.ime
imekr61.ime
imjp81.ime
phon.ime
pintlgc.ime
pintlgd.ime
pintlgdx.ime
pintlgi.ime
pintlgix.ime
pintlgl.ime
pintlgnt.ime
pintlgr.ime
pintlgs.ime
quick.ime
romanime.ime
tintlgc.ime
tintlgd_.ime
tintlgl.ime
tintlgnt.ime
tintlgs.ime
unicdime.ime
winar30.ime
wingb.ime
winime.ime
winpy.ime
winsp.ime
winzm.ime
chsbrkr.dll
chtbrkr.dll
chtmbx.dll
chtskdic.dll
chtskf.dll
cintime.dll
ftlx0411.dll
hanjadic.dll
hwxcht.dll
hwxjpn.dll
hwxkor.dll
imekrcic.dll
imekrmbx.dll
imepadsm.dll
imjp81k.dll
imjpcic.dll
imjpcus.dll
imjpdct.dll
imjputyc.dll
imlang.dll
imskdic.dll
imskf.dll
korwbrkr.dll
msir3jp.dll
multibox.dll
padrs404.dll
padrs411.dll
padrs412.dll
padrs804.dll
pintlcsa.dll
pintlcsd.dll
pmigrate.dll
softkey.dll
tmigrate.dll
uniime.dll
voicepad.dll
voicesub.dll
cintsetp.exe
cplexe.exe
imekrmig.exe
imepadsv.exe
imjpdadm.exe
imjpdct.exe
imjpdsvr.exe
imjpinst.exe
imjpmig.exe
imjprw.exe
imjpuex.exe
imjputy.exe
imkrinst.exe
imscinst.exe
pintlphr.exe
tintlphr.exe
tintsetp.exe
hanja.lex
imekr.lex
korwbrkr.lex
msir3jp.lex


Vadim_SVN 24-09-2008 09:19 907298

komiksoft, спасибо большое.
именно по некоторым расширениям файлов у меня и были вопросы, а также то, что не _все_ файлы каталога находятся в списке защищенных. А также то, как себя будет вести утилита, которой встретится название файла, отсутствующее в списке SfcFiles.dll

Mr dUSHA 24-09-2008 10:20 907344

Vadim_SVN,
еще вариант: в папке с этими файлами делаете expand -r *.*_
а далее: del /F *.*_
и получите распакованые файлы с реальными ихними именами.

То, что не все файлы из каталога в списке SfcFiles - это сама MS так придумала :)
А утилита просто проигнорирует те файлы из списка killwfp.lst, которые отсутсвуют в списке SfcFiles.dll.

wolkow70 28-09-2008 16:19 910919

Провел такой эксперемент: сделал копию дистрибутива, и обработал его NLITE, удалил компоненты поддержки языков, оставив только поддержку:
American
Baltic
Central Europe
Cyrilic
Western Europe and United States
После обработки размер папки Lang уменьшился до 2,53 Мб. В папке остались только нижеприведенные файлы, которые я думаю на всякий случай можно и оставить.
chsbrkr.dll
chtbrkr.dll
imepaden.hlp
imepadsm.dll
imepadsv.exe
imlang.dll
korwbrkr.dll
korwbrkr.lex
msir3jp.dll
msir3jp.lex
noise.cht
noise.jpn
noise.kor

В виду архиважности поднятой темы, думаю пора уже знающим людям помочь в составлении аддона для удаления файлов папки Lang для UpdatePack-XPSP3-Rus.
Пока же у меня возник ряд вопросов:
Список файлов директории Lang под наименованием list.txt можно просто переименовать в killwfp.lst?
Но ведь файлы находятся не в корне I386 а папке Lang , дак нужно в killwfp.lst прописывать путь?.

Dagot_Ur 21-09-2009 19:12 1224231

Вложений: 3
Подробная инструкция)

1. Копируем в папку LANG lang.bat, запускаем.
2. В папке находим файл killwfp.lst, удаляем из него list.txt и lang.bat
3. Ищем в дистрибе SFCFILES.DL_, копируем его в одну папку с killwfp.lst, patch.bat и SfcPatch.exe, запускаем patch.bat
4. Зажимаем получившийся sfcfiles.dll в SFCFILES.DL_, копируем его обратно в дистрибутив.

Всё содержимое папки LANG можно затирать!

Файлы в аттаче.


Время: 18:36.

Время: 18:36.
© OSzone.net 2001-