PDA

Показать полную графическую версию : [addon] Fake-Setup Advanced


Страниц : 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Dilinjer
20-10-2008, 12:36
Другое дело, что копировать из дистрибутива нужно не все файлы из %SystemRoot%, а все файлы из списка SFCFILES, соответствующего этой системе (PRO, HOME, etc...). » - Да это уже обсуждалось неоднократно... Вы меня чуток неправильно поняли. Например, в SFCFILES.DLL есть Dll'ки из папки LANG и я их не выношу из списка защиты при помощи SFCPATCH.EXE, но и копировать их для локализованной версии ХРюши не вижу смысла, поэтому копировать необходимо то что есть в %SystemRoot% и в SFCFILES.DLL, хотя не все так однозначно в случае с *.cab'ами. Но суть всем понятна - хочется чтоб дистр. в ходе установки форточек копировался максимально быстро без лишнего мусора и WFP в случае подмены оригинальных файлов не требовал всавить диск с дистрибутивом.

ЗЫ: Ксати, по пводу параметра SFCQuota в случае копирования дистра в %SystemRoot% его имеет смысл выставлять равным 0 . Я не экперементировал, а если выставить SFCQuota=FFFFFFFF то может и заморачиваться неприйдется т.е. дистрибутив средствами установщика скопируется в %Systemroot%\system32\dllcache ????

Mr dUSHA
20-10-2008, 13:03
Т.е я получу уменьшение времени установки на несколько минут даже при использовании параметра DisableSFC=0 ? »
Да. Именно так.
Такой же эффект, как и в случае с аддоном от Boa Soft Служебные - [addon] sfc patch (http://forum.oszone.net/thread-61631-7.html),
но там для включения защиты еще нужно SFCDisable каким-то скриптом после перезагрузки удалить.

Вы меня чуток неправильно поняли. Например, в SFCFILES.DLL есть Dll'ки из папки LANG и я их не выношу из списка защиты при помощи SFCPATCH.EXE... »
Понял-понял. Но дело в том, что при принудительном сканировании всех файлов, SFC пытается скопировать все файлы, перечисленные в SFCFILES.DLL, в %Systemroot%\system32\dllcache.
На Т-8 это сканирование у меня отключается, но при запуске sfc.exe /scannow проблема снова вылезет.

Dilinjer
20-10-2008, 16:28
Понял-понял. Но дело в том, что при принудительном сканировании всех файлов, SFC пытается скопировать все файлы, перечисленные в SFCFILES.DLL, в %Systemroot%\system32\dllcache.
На Т-8 это сканирование у меня отключается, но при запуске sfc.exe /scannow проблема снова вылезет. »
У меня в шедуллере стоит sfc.exe /scannow раз в месяц - никаких проблем, может быть потому что SFCQuota=0, да и дистрибутив, уже подчищенный(без папки LANG и прочих файлов которые отсутствуют в %SystemRoot%, %ProgramFiles% но есть в SFCFILES.DLL) лежит на локальном диске, соответсвенно пути к нему в реестре подправлены.... Просто непонятно по какому ранжиру WFP копирует в %Systemroot%\system32\dllcache файлы дистрибутива если к примеру SFCQuota=100Mb, надо будет надосуге поэкперементировать с данным параметром.

Mr dUSHA
20-10-2008, 16:44
Просто непонятно по какому ранжиру WFP копирует в %Systemroot%\system32\dllcache файлы дистрибутива если к примеру SFCQuota=100Mb, надо будет надосуге поэкперементировать с данным параметром. »
А кто ж его знает.... Скорей всего подряд, а далее - и на сколько квота позволяет.

А вот если SFCQuota=0, то конечно ничего не копируется, и ошибка не вылазит с несуществующим в дистрибутиве файлом.

Dilinjer
20-10-2008, 16:54
Mr dUSHA, ИМХО есть какаято зависимость, сначала точно *.cab'ы а дальше - хез. Эх... чето понесло меня в оффтоп.... :) умолкаю......

Добавлено:
По поводу GUI-обертки для выбора дриверпаков для распаковки, прототип аддона Z_DRV_INST, мот кто возьмется написать тулзу, ее по ходу можно выполнить прописав ее вызов из PreSetup.cmd, имхо, в Fake-Setup ее пихать нестоит ???

ЗЫ: Я пока буду извращаться через bat'нички для выбора и распаковки пакетов драйверов.....

YikxX
21-10-2008, 11:07
Mr dUSHA, еще парочка вопросов если можно. 1. Отработка башратовского финишера требуется при использовании этого фейк-сетапа? 2. Как он себя поведет, если установка винды будет выполняться из-под старой, т.е. путем обновления?

YikxX
22-10-2008, 01:33
Не патчит ваш фейк-сетап почему-то uxtheme.dll у меня... В конфиге стоит 1, из списка защиты файл выведен. Что я делаю не так?
Кстати, аддон перезалейте - в файле dosnet ошибка у вас [Files] с маленькой буквы написано - [files]

simplix
22-10-2008, 02:00
YikxX, С каких пор регистр букв в имени секции имеет значение?

Mr dUSHA
22-10-2008, 02:10
Кстати, аддон перезалейте - в файле dosnet ошибка у вас [Files] с маленькой буквы написано - [files] »
Не думаю, что это имеет значение, но на всякий случай сделал.

Не патчит ваш фейк-сетап почему-то uxtheme.dll у меня... »
До вашего вопроса, тестировал на своей системе несколько раз - все ОК.

Возможно у вас версия библиотеки, которую не понимает патчер.
Как проверяли, что не патчит? Темы раб.стола не работают?
Пришлите оригинал плиз.

1. Отработка башратовского финишера требуется при использовании этого фейк-сетапа? »
Понятия не имею, что представляет собой башратовский финишер.
Если нужен полнофункциональный финишер, с возможностью записи в реестр, то я добавлю такой функционал (PostSetup.cmd).

Как он себя поведет, если установка винды будет выполняться из-под старой, т.е. путем обновления? »
Должен вести себя точно так же, как и при обычной установке. Но вы можете протестировать и сообщить о результате ;)

YikxX
22-10-2008, 02:10
simplix, с давних. При маленькой букве просто ничего не добавляется в файл dosnet.inf

YikxX
22-10-2008, 02:14
Возможно у вас версия библиотеки, которую не понимает патчер »
Версия библиотеки 5512 - специально счас проверил.
Темы раб.стола не работают? » Именно.Пришлите оригинал плиз » Во вложении.

Mr dUSHA
22-10-2008, 02:17
При маленькой букве просто ничего не добавляется в файл dosnet.inf »
Гм.... Оригинальный скрипт из АпдейтПака просто производит стыковку в хвост оригиналу:


:ModifyDosnetInf
Echo Добавление строк в Dosnet.inf.
Attrib -R "%I386%\DOSNET.INF"

For /F "Delims=" %%I In (Temp\Folders.txt) Do (
If Exist "%%I\Dosnet" (
Echo.>>"%I386%\DOSNET.INF"
Type "%%I\Dosnet" >>"%I386%\DOSNET.INF"
)
)
If Exist "%I386%\SVCPACK\*.*" Call :AddDosnetOptionalSvcpack
GoTo :EOF

YikxX
22-10-2008, 02:19
Mr dUSHA, ну ладно, будем считать, что мне привиделось, что содержимое файла dosnet из аддона 2 раза не добавлялось в dosnet.inf (приходилось вписывать ручками) пока я не сменил букву на большую... ;)

Mr dUSHA
22-10-2008, 02:24
Версия библиотеки 5512 - специально счас проверил. »
Вы не используете случайно каких-либо приблуд, перезаписывающих значение ключа реестра:
HKLM,SYSTEM\CurrentControlSet\Control\Session Manager,PendingFileRenameOperations
???

Поскольку отложеная замена патченого файла производится посредством этого ключа, с помощю функции MoveFileEx с параметром MOVEFILE_DELAY_UNTIL_REBOOT.

И проверте еще: файл uxtheme.dll.MTEMP в System32 есть? Если да, то сравните с оригиналом, патченый ли он?


(приходилось вписывать ручками) пока я не сменил букву на большую... »
Да ну его.... Я всеровно уже букву исправил. ;)

YikxX
22-10-2008, 02:27
Вы не используете случайно каких-либо приблуд » Да вроде нет :o Такого ключа на установленной системе у меня нет вообще.

Mr dUSHA
22-10-2008, 02:39
Такого ключа на установленной системе у меня нет вообще. »
Именно так.
Он удаляется, когда при загрузке ОС будут проведены операции с перечислеными в нем файлами.

Чтоб увидеть его, вам нужно во время перезагрузки после конца графического этапа установки остановить машину и примонтировать реестр SYSTEM к другой ОС, и посмотреть этот ключ. Возможно там, если увидите какието другие файлы, но не uxtheme.dll.MTEMP и uxtheme.dll, то значит кто-то его перезаписывает.

дело в том, что каждый вызов MoveFileEx с параметром MOVEFILE_DELAY_UNTIL_REBOOT добавляет в этот ключ две новых строки, а не заменяет его. Но какойто кривой аддон своим твиком реестра мог его переписать.

simplix
22-10-2008, 02:46
При маленькой букве просто ничего не добавляется в файл dosnet.inf »
Это невозможно, т. к. скрипт апдейтпака тупо копирует строчки по порядку из одного файла в другой.

:ModifyDosnetInf
Echo Добавление строк в Dosnet.inf.
Attrib -R "%I386%\DOSNET.INF"

For /F "Delims=" %%I In (Temp\Folders.txt) Do (
If Exist "%%I\Dosnet" (
Echo.>>"%I386%\DOSNET.INF"
Type "%%I\Dosnet" >>"%I386%\DOSNET.INF"
)
)
If Exist "%I386%\SVCPACK\*.*" Call :AddDosnetOptionalSvcpack
GoTo :EOF


P. S. Не заметил, Mr dUSHA точно так же ответил.

YikxX
22-10-2008, 02:46
И проверте еще: файл uxtheme.dll.MTEMP в System32 есть? Если да, то сравните с оригиналом, патченый ли он? » Да, такой файл есть. Похоже что патченный, так как MD5 не совпадает. Проверить работает или нет не могу - система вцепилась в оригинальный файл мертвой хваткой не помогает даже Unlocker

Но какойто кривой аддон своим твиком реестра мог его переписать. » Выяснять, какой именно (и аддон ли это вообще) мне не хочется... Буду патчить постаринке. :)

Это невозможно, т. к. скрипт апдейтпака тупо копирует строчки по порядку из одного файла в другой. » Ну значит я просто пиз**бол. Все вопрос закрыт.

simplix
22-10-2008, 02:55
не помогает даже Unlocker »
Он и не нужен, WFP работает со значительной задержкой (пара секунд), которой вполне хватает на переименование системного файла и копирование нового в system32 и dllcache.

Mr dUSHA
22-10-2008, 03:03
Да, такой файл есть. Похоже что патченный, »
Тогда действительно какая-то кривая утилита или аддон своим твиком перписывает ключ. Будет желание - найдете крысу методом монтирования реестра, как я описал выше (поскольку в таком случае вы увидите в ключе файлы виновника этого цирка).




© OSzone.net 2001-2012