PDA

Показать полную графическую версию : Внутренности Установщика WinXP


Страниц : 1 2 3 [4] 5 6 7

Dilinjer
02-09-2008, 18:02
Mr dUSHA, спасибо за список защищаемых файлов но меня больше интересует КАК этот список самому сформировать ?
ЗЫ: Я просто все еще юзаю WinXP_SP2 поэтому Ваш листинг файлов возможно для меня неподойдет..... :(

Mr dUSHA
04-09-2008, 00:38
Dilinjer,
КАК этот список самому сформировать ? »
Позже выложу маленькую програмулю, которая формируют список для текущей системы.

Кроме того, патчер Boa Soft-а умеет формировать список вообще всех файлов, которые включены в SfcFiles.dll (а там их 5 наборов).

Читайте эти две темы, там информации достаточно для понимания сути механизмов:
Служебные - Патч SfcFiles.dll (http://forum.oszone.net/thread-86074-8.html)
Служебные - [addon] sfc patch (http://forum.oszone.net/thread-61631-7.html)

А то здесь уже оффтоп начинается...

Boa Soft
04-09-2008, 15:11
Позже выложу маленькую програмулю, которая формируют список для текущей системы. »

Это - самое простое, апишка достаточно хорошо описана в интернете, а вот получить список всех файлов было сложнее. Но, там есть недокументированная функция, отдающая адреса всех таблиц файлов.

Mr dUSHA
04-09-2008, 18:38
Но, там есть недокументированная функция, отдающая адреса всех таблиц файлов. »
Ага. Я видел, и ее саму, и как оно у тебя реализовано.
Для меня как-то мало от этого практической пользы... Но зато та функция отдает непосредственно текстовые строки из библиотеки, а не преобразованные к путям конкретной установленной системы :)

Там другая интересность и полезность есть:
SfcInitProt кроме других параметров принимает указатель на список игнорирования, в который заносятся файлы, исключаемые из проверки в текущем сеансе проверки файлов.
Syssetup заносит в этот список MSST-драйвера, добавленные на текстовом этапе по Ф6, которые использовались для установки системы, и на Т-10 эти файлы исключаются из проверки.
Может это тоже расковырять, и придумать ему полезное применение?

Boa Soft
05-09-2008, 02:08
Т-10 эти файлы исключаются из проверки.
Может это тоже расковырять, и придумать ему полезное применение? »

Получаем весь список файлов и выводим их из проверки. и патчить ничего не надо.

Dilinjer
05-09-2008, 19:09
Извините если не фтему.... Очередной раз собрал дистрибутив XPюши с падченым SFC_OC.DLL . На стендовой машине установил форточки... В сборке при первом логоне падченая библиотека должна заменяться на оригинальную но в логе выполнения bat'ника имеем: отказано в доступе, т.е. падченная библиотека назаменилась на оригинальную так как файл заблокирован, хотя раньше все было ОК.

Подскажите можно ли както из bat'ника не используя сторонних утилит при логоне заменить падченную SFC_OC.DLL на оригинальную ?

ЗЫ: Замену с помощью WinPE, Safe Mode, и т.п. не предлагать.....

Mr dUSHA
06-09-2008, 15:19
Подскажите можно ли както из bat'ника не используя сторонних утилит при логоне заменить падченную SFC_OC.DLL на оригинальную ? »
Патченую не удалять, а переименовать в что-то типа old.dll, а потом уже скопировать оригинальную на место.

Либо еще во время установки, на Т-12 например, засунуть все, что нужно переименовывать/удалять, в ветку реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
напрямую, либо с помощь функции MoveFileEx (http://msdn.microsoft.com/en-us/library/aa365240(VS.85).aspx) с параметром MOVEFILE_DELAY_UNTIL_REBOOT (но это конечно уже не из батника... :) )

Dilinjer
07-09-2008, 17:38
Либо еще во время установки, на Т-12 например, засунуть все, что нужно переименовывать/удалять, в ветку реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations » - Классная идея!!! Но как обычно, есть ложка дегтя в бочке меда :( В bat'нике , который выполняется на T-12, я добавил след. строку:REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager" /v PendingFileRenameOperations /t REG_MULTI_SZ /d \??\%SystemRoot%\system32\sfc_os.dll /f - Чтоб данный финт по удалению файла сработал надо в конце данных параметра PendingFileRenameOperations в двоичном виде добавить 00 00 .
Возможно ли это реализовать через REG ADD ??? ИМХО, очень нужная фича.....

Пришлось все сделать через ж.... В батнике, выполняемом на T-12 добавил: REGEDIT /S DelFile.REG
Содержимое DelFile.REG:Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]
"PendingFileRenameOperations"=hex(7):5c,00,3f,00,3f,00,5c,00,43,00,3a,00,5c,00,\
57,00,49,00,4e,00,44,00,4f,00,57,00,53,00,5c,00,73,00,79,00,73,00,74,00,65,\
00,6d,00,33,00,32,00,5c,00,73,00,66,00,63,00,5f,00,6f,00,73,00,2e,00,64,00,\
6c,00,6c,00,00,00,00,00,00,00 - как сие добавить через REG ADD?

Mr dUSHA
07-09-2008, 20:18
Пришлось все сделать через ж.... В батнике, выполняемом.... »
А так делать не корректно, поскольку система уже могла поставить какие-то файлы в очередь на отложенное переименование, а вы этим REG-файлом перезаписываете возможно существующее значение параметра, и таким образом после перезагрузки могут всплыть подводные грабли...

Я слепил по быстрому, на коленках утилиту для отложенного удаления или переименования файлов.
Она сама ставит файлы в очередь на отложенное удаление или переименование через ветку реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations

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

Юзать так:
для удаления:
ADel.exe %systemroot%\system32\mydll.dll

для переименования:
ADel.exe %systemroot%\system32\mydll_1.dll %systemroot%\system32\mydll_2.dll

Dilinjer
07-09-2008, 21:06
А так делать не корректно » - это был всего лишь пример, ясно что надо анализировать в реестре значение параметра PendingFileRenameOperations

Я слепил по быстрому, на коленках утилиту » да вроть таких утилит с лихвой, и у мелкомягких что-то подобное есть.... Просто хотелось сие реализовать без сторонних утилит, но видимо это нетот случай :(

Комсомолец
09-09-2008, 11:09
У меня тоже есть подобная проблема - у меня USB KVM, и, соответственно, подключая машины для ремонта приходится дожидатся определения мыши и клавиатуры. Но, если выскочит окно определения модуля подключения монитора, то ой. Курим бамбук и идем за PS/2 клавой. »
Вот это вообще жесть. Образ разворачиваю на рабочем месте, а выдаём машины на новом мониторе. И часто очень ходим за клавой PS\2. Сейчас поставили там ее, чтобы не ходить.

Real Root
11-09-2008, 15:51
Не подскажите, что sysprep вносит в реестр, чтоб не было проблем с мышами и клавами.
Иногда бывает так, что клава PS2, и нужно ждать установку звучек, видях и проч. фигни. А иногда вылазиет модуль подключения монитора или SM контроллер шины - и все, хрен что сделаешь.
Вобщем как хотябы решить проблему с PS2устройствами.

И еще вопрос, вы где сами тусуетесь по заливкам? Я так понимаю, что в этой теме только отголоски той самой дискуссии. На ру0борде есть тема перенос ситемы на другую мать - но она мертвая и интересных идей я там давно не видел.

Mr dUSHA
11-09-2008, 18:33
Не подскажите, что sysprep вносит в реестр, чтоб не было проблем с мышами и клавами. »
Если кратко, то в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase
он прописывает критические устройства. Более подробно возможно BoaSoft скажет...
Я занимаюсь только чистыми автоустановками, и в заливки не вникал пока....

Oleg_II
11-09-2008, 19:36
Real Root
Обижаете :) В теме по переносу на другую мать есть ссылки на тему по клонированию, да и в теме по заливкам тоже перекрестные ссылки и все на последние находки из китайских заливок - там есть про мыши и клавиши. Для меня эти проблемы уже решены ;)

Вкратце - в ветки реестра вносятся предуставновки для этих устройств, их ограниченное количество вариантов именно для клав и мышей и все уже вытянуты (хочется надеятся).

Я сейчас сравниваю реестры нескольких китайских заливок и Windows Fundamentals for Leagacy PC (очень интересная штука, между прочим), скоро еще раз выложу результаты. Но в плане клав и мышей там точно ничего кардинального уже не будет (с последним вариантом рег-файла), добавятся другие вещи ;)

Real Root
11-09-2008, 23:04
Ну чтож, будем ждать всемогущего (BoaSoft) пусть прояснит, что там вноситься в CryticalDevices. А я пока на борду схожу, посмтрю тему по клонированию.

Dilinjer
12-09-2008, 09:56
Oleg_II, а как реализвать отключение минимальных требований к памяти и месту на диске ?

Oleg_II
12-09-2008, 20:35
Dilinjer
Редактируем TXTSETUP.SIF:

1. Для отключения минимальных требований к памяти в секции SetupData меняем значение для RequiredMemory на 10485760.

2. Для отключения минимальных требований к месту на диске в секции DiskSpaceRequirements все значения кроме следующих 4-х меняем на "0":
40PFDocSpace = 1744
50PFDocSpace = 25336
51PFDocSpace = 25336
PFDocSpace = 81112

Вообще, это твик из nLite ;)

Комсомолец
24-09-2008, 04:33
Кстати, эту (http://forum.oszone.net/post-894405-71.html) проблему еще иногда решаем просто перезагрузкой.

gabasov
29-12-2008, 03:31
чтоб не было проблем с мышами и клавами »

Скорее всего, проблем не избежать. Дело в том, что сперва устанавливается устройство USB-controller, а уже потом USB-клавиатуры и мыши

Mr dUSHA
16-04-2009, 14:29
Обновления:

Добавлен набор патчей для WinXP SP2 x64 и Win2003 SP2 x86.
Все патчи собраны в единый архив Patches_5.2.3790.3959_for_x86_and_x64.7z




© OSzone.net 2001-2012