![]() |
В каких же случаях диск без папки Lang может "не признать" утилита sfc ?
В пособии по урезанию дистрибутива Windows - статье "Экономим место на диске" http://forum.oszone.net/newthread.php?do=newthread&f=6 сказано:
Цитата:
И в данном случае ключевое слово в цитате - "может не признать". То есть, получается, - когда признает, а когда и нет. Может ли общественность поделиться своими соображениями - от чего именно это зависит, и - как у вас? |
truvo, насчет Sfc не уверен, но без этих 74 файлов при установке в Setupapi.log будут ошибки (некритичные):
|
Petya V4sechkin, что-то у меня на виртуалке указанных вами ошибок не видно, а папку удалял...
|
truvo,
указанные файлы находятся в списке защищаемых в SfcFiles.dll. Если WFP у Вас не отключена, а папка LANG удалена - то sfc /scannow обязательно ругнётся. Пропачте SfcFiles.dll указав в KillWpf.lst оригинальные имена этих файлов. |
Цитата:
|
Цитата:
Папка LANG может понадобиться только если оригинал восстанавливаемого поврежденного файла в дистрибутиве находится в этой самой папке LANG. |
Mr dUSHA, мне был бы интересен ваш отклик на первый пост в теме. Может, мне не нужно заморачиваться с файлом killwfp.lst, если удалю папку LANG?
|
Цитата:
SFC ни каким образом не проверяет наличие её, если только не понадобится восстановить файл, который в дистрибутиве именно в ней лежит. По поводу самой же папки LANG - мое ИМХО саму папку оставлять, но опустошать ее. Например при переносе дистрибутива на RIS, мастер создания дистрибутива ругается и останавливает свою работу при отсутствии этой папки а также WIN9XMIG, WIN9XUPG, WINNTUPG. Но если просто опустошать эти папки, оставляя их в дистрибутиве, то все проходит нормально. WINNTUPG конечно вообще трогать не следует, для возможности запуска установки в режиме обновления прямо из уже работающей ХР, а папки WIN9X* нужны для установки ХР поверх WIN98 в режиме обновления с сохранением настроек, что в наше время ИМХО не актуально вообще. |
truvo, попробуйте удалите в дистрибутиве папку LANG, установите систему, запустите sfc. Убедитесь наглядно, что sfc будет требовать оригинальный диск.
По поводу имён файлов в killwfp.lst - там должны быть имена распакованых файлов. Mr dUSHA, система защиты получает список защищенных файлов с полными путями из библиотеки SfcFiles.dll. Если папки нет, а библиотека не пропатчена - будут ошибки - проверено не однократно. |
komiksoft, /scannow проверяет только реально присутствующие в установленной системе файлы.
Если бы она восстанавливала все файлы, которые есть в списке SfcFiles, то после первой же проверки насосала из дистрибутива кучу файлов, от опциональных и по-умолчанию не устанавливаемых (или отключенных в том же WINNT.SIF) компонентов Windows. Цитата:
|
Mr dUSHA, truvo, лично я перестал удалять папку после того как на один из ноутбуков не захотел ставится с образа на котором она была удалена ... с аналогичного диска но без удаления папки все было пучком ... согласен что если уже намерились удалять папку, то лутше не ее саму, а ее содержимое ...
|
Mr dUSHA, вот пожалуйста:
1. убрал из killwfp.lst файл chajei.ime, удалил LANG. 2. пересобрал дистрибутив. 3. после установки и запуска sfc получил в журнале событий вот это: Цитата:
Цитата:
|
Рапортую для истории: собрал дистрибутив, в котором:
1) удалил файлы из папки Lang 2) внес их в список killwfp.lst 3) саму папку Lang оставил, оставил также пустые папки WIN9XMIG, WIN9XUPG, WINNTUPG. В такой ситуации-комбинации на виртуалке проверка sfc /scannow прошла без вопросов. |
Цитата:
Цитата:
|
Цитата:
Описаный вами механизм пытается закешировать все файлы, описаные в списке sfcfiles в каталог dllcache. Возможно, без добавления файлов в killwfp.lst, поможет установка размера кеша равным нулю (sfc /cachesize=0), если это вам конечно приемлемо... Цитата:
dir /b > list.txt В результате в list.txt окажется список всех файлов этого каталога, без путей и прочего мусора (для данного случая), который выводит команда dir без параметров. Потом только с этого списка сам файл list.txt удалите. |
Цитата:
|
Вложений: 1
Это-то все понятно и безпроблемно.
Интересуют конечные расширения файлов, ведь в killwfp.lst нужны названия файлов, получающихся после декомпрессии ... |
Vadim_SVN,
в текстовом редакторе в Вашем списке, поиском и заменой меняете: .im_ на .ime, .dl_ на .dll, .ex_ на .exe, .le_ на .lex Получится вот это: Код:
chajei.ime |
komiksoft, спасибо большое.
именно по некоторым расширениям файлов у меня и были вопросы, а также то, что не _все_ файлы каталога находятся в списке защищенных. А также то, как себя будет вести утилита, которой встретится название файла, отсутствующее в списке SfcFiles.dll |
Vadim_SVN,
еще вариант: в папке с этими файлами делаете expand -r *.*_ а далее: del /F *.*_ и получите распакованые файлы с реальными ихними именами. То, что не все файлы из каталога в списке SfcFiles - это сама MS так придумала :) А утилита просто проигнорирует те файлы из списка killwfp.lst, которые отсутсвуют в списке SfcFiles.dll. |
Провел такой эксперемент: сделал копию дистрибутива, и обработал его 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 прописывать путь?. |
Вложений: 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-