Smarty
25-05-2010, 22:14
Структура папок
Чтобы было понятно дальнейшее описание структуры папок, поймите следующий момент!
От расположения респатчеров в структуре папок зависит работоспособность пакета!
Зависимость файл - патчер должна быть соблюдена с абсолютной точностью!
Пример #1:
Вы хотите пропатчить файл в папке:
C:\WINDOWS\System32\ru-RU\,
значит в структуре папок патчер для этого файла должен лежать здесь:
X:\WORK\RESOURCES\WINDOWS\System32\ru-RU\
Пример #2:
Вы хотите пропатчить файл в папке:
C:\Program Files\Windows Media Player\,
значит в структуре папок патчер для этого файла должен лежать здесь:
X:\WORK\RESOURCES\Program Files\Windows Media Player\
Эта же структура подходит и для пропатчивания дистрибутива.
Итак, откройте текстовой файл из вложения, скопируйте ссылку на закачку
и скачайте Структуру папок.
Извлеките из скачанного архива папку WORK в удобное для вас место.
ВНИМАНИЕ! На 64-битных системах скрипты запускать только из Проводника!
Вы можете изменить скрипт под свои нужды, прочитав Ключи командной строки на странице патчера (http://forum.oszone.net/thread-151734.html)
Пропатчивание дистрибутива возможно только на Windows 7, т.к. монтирование
происходит утилитой DISM.EXE, которая в предыдущих системах по умолчанию отсутствует!
Это сделано специально, потому что перед обработкой дистрибутива надо проверить работу пропатченной
системы, а сделать это можно только на самой же Windows 7, виртуальная машина для этих целей не годится!
Например, при внесении изменений в файл SHELL32.DLL на некоторых системах наблюдаются
проблемы при воспроизведении звука на акустике 5.1!
Монтирование образа с редакцией Х происходит в папку \MOUNT,
которая создается и удаляется автоматически!
Редакция выбирается вами при запросе скрипта!
------------------------
FILES - для копирования файлов в систему (например, копирование вместе с пакетом оформления визуального стиля)
UPDATES - для обновлений системы в формате MSU и CAB
RESOURCES содержит 2 папки:
SHARED - для общих патчеров
EDITIONS - для патчеров конкретных редакций
В основном она предназначена для файла basebrd.dll.mui, содержащего
информацию о редакции системы, которая отображается при входе в систему и
при просмотре меню Справка - О программе...
Check.cmd - скрипт для проверки системы после обновлений
Run.cmd - основной скрипт, производящий пропатчивание установленной системы или дистрибутива
Unmount & Clear.cmd - "дежурный" скрипт.
Может понадобиться при тестировании интеграции пакета оформления в дистрибутив.
Демонтирует неудачно размонтированный образ и подчищает следы монтирования.
Ver.ini - информационный файл для создания деинсталлятора в апплете "Программы и компоненты"
W7Patcher.exe - патчер для х86
W7Patcher_х64.exe - патчер для х64
------------------------
Перед каждым действием выдается запрос на выполнение, отказ или пропуск.
При пропатчивании дистрибутива вы можете отказаться от интеграции обновлений,
но выполнить пропатчивание, можно интегрировать обновления, но не пропатчивать,
а можно выполнить и то и другое.
[hr]
Windows 7 Universal Patcher
Windows 7 Universal Patcher (W7Patcher) представляет собой оболочку для автоматического
применения патчей графических ресурсов, созданных редактором ресурсов Restorator.
По умолчанию при создании респатчера Ресторатор убирает "родное" расширение файла (mui, dll, exe...),
заменяя его на .exe и добавляет к имени файла Patch_.
При пропатчивании W7Patcher отсекает Patch_ и .exe от респатчера, поэтому при сохранении
следует изменить имя респатчера по умолчанию на Patch_имя_файла.расширение.exe.
Пример #1:
Если вы редактировали файл Shell32.dll, то созданный респатчер должен иметь вид Patch_Shell32.dll.exe.
Пример #2:
Если вы редактировали файл Explorer.exe, то созданный респатчер должен иметь вид Patch_Explorer.exe.exe.
Более подробное описание работы патчера по ссылке ниже.
Техническая поддержка и загрузка последней версии патчера (http://forum.oszone.net/thread-151734.html)
Все вопросы по работе патчера задавать в тему патчера!
[hr]
Restorator 2007
Редактирование ресурсов Windows с помощью программы Restorator (http://www.oszone.net/11352/Restorator)
Твик реестра для получения прав на файлы (http://tools.oszone.net/Smarty/FOLDER_STRUCTURE/Take OwnerShip.7z)
После применения твика в контекстное меню будет добавлен пункт "Стать Владельцем".
По умолчанию он скрыт, чтобы случайно не поменять права на другой файл, а появляется только при зажатии кнопки <SHIFT>!
Для исполняемых файлов (.ехе) твик не работает, поэтому получать на них права нужно вручную!
Получение прав на файлы вручную
Для получения прав и разрешений надо щелкнуть ПКМ на файле и выбрать "Свойства".
В открывшемся диалоге выбрать вкладку "Безопасность" и нажать кнопку "Дополнительно".
http://s60.radikal.ru/i167/0909/22/0e559e70434e.png (http://www.radikal.ru)
Далее в открывшемся диалоге выбираем вкладку "Владелец" и кнопку "Изменить".
http://s40.radikal.ru/i089/0909/84/d5c5758a5022.png (http://www.radikal.ru)
Далее выбираем логин пользователя\имя компьютера и нажимаем кнопку "Применить",
"ОК" в информационном диалоге и "ОК" в диалоге выбора владельца.
http://s03.radikal.ru/i176/0909/c6/9dab7840aac6.png (http://www.radikal.ru)
Теперь переходим на вкладку "Разрешения" и нажимаем кнопку "Изменить разрешения..."
http://i030.radikal.ru/0909/56/c1b6dff5e9d2.png (http://www.radikal.ru)
В следующем диалоге выбираем "Пользователи\имя компьютера" и нажимаем кнопку "Изменить".
http://s54.radikal.ru/i144/0909/0d/1a20837fee4b.png (http://www.radikal.ru)
Выбираем "Разрешить полный доступ" и жмем "ОК".
http://s61.radikal.ru/i173/0909/b7/c76490867d94.png (http://www.radikal.ru)
Далее кнопкой "ОК" закрываем все диалоги получения прав и разрешений.
Можно приступать к редактированию ресурсов файла!
[hr]
Сборка пакета оформления х86
После изменения и тестирования пропатченного системного файла создайте для него респатчер
и положите его (респатчер) в структуру папок на соответствующее место!
Если при выборе места будет допущена ошибка, то файл в системе пропатчен не будет!
Помните так же, что для структуры папок путь Х:\WORK\RESOURCES соответствует С:\ в системе!
При тестировании пакета не пропатчивайте систему повторно!
Сделайте откат изменений и проверяйте на "чистой" системе!
Это займет немного больше времени, но поможет избежать путаницы и появления ошибок!
[hr]
Сборка пакета оформления х64
Сборка пакета оформления только для 64-битной системы идентична сборке для х86 с той лишь разницей,
что при копировании респатчера в папку Х:\WORK\RESOURCES\PROGRAM FILES надо проверять
наличие такого же файла в системной папке C:\PROGRAM FILES (Х86) и, если такой файл там есть,
скопировать респатчер и в папку Х:\WORK\RESOURCES\PROGRAM FILES (Х86).
Соответственно и с остальными "двойными" папками!
Если файл - получатель существует только в папке C:\WINDOWS\SYSWOW64, то и респатчер кладется
только в папку Х:\WORK\RESOURCES\WINDOWS\SYSWOW64.
Если файл - получатель существует и в C:\WINDOWS\SYSTEM32 и в C:\WINDOWS\SYSWOW64,
то и копировать респатчер надо в папки Х:\WORK\RESOURCES\WINDOWS\SYSTEM32 и в Х:\WORK\RESOURCES\WINDOWS\SYSWOW64.
[hr]
Сборка пакета оформления х86 \ х64 из пакета х86
Во-первых учтите, что в некоторых файлах есть одинаковые диалоги, но отображаются они каждый на "своей" системе!
В качестве примера можете посмотреть диалоги в файле C:\Windows\System32\ru-RU\inetcpl.cpl.mui
Во-вторых, я буду исходить из того, что пакет для х86 уже сделан, т.к. эта система проще по структуре!
Как вы знаете, в 64-битной системе есть папки для х64 и х86.
С программными папками всё понятно: PROGRAM FILES для х64 и PROGRAM FILES (Х86) для х86 соответственно,
а с системными папками наоборот: SYSTEM32 для х64 и SYSWOW64 для х86!
Поскольку респатчеры не затрагивают программный код файлов, а только графические ресурсы,
то респатчеры, созданные для системы х86 подходят для пропатчивания системы х64!
Визуальные стили не привязаны к битности системы, поэтому подходят для обоих систем!
Можно просто скопировать содержимое папок PROGRAM FILES и SYSTEM32 в папки
PROGRAM FILES (Х86) и SYSWOW64 соответственно и пакет будет готов для работы
с 64-битной системой, но...
При использовании этого метода журнал патчера W7Patcher.log будет содержать записи об ошибках (пример):
C:\Windows\SysWOW64\authui.dll [FAIL] [0x00000003]
C:\Windows\System32\ru-RU\cmncliM.dll.mui [FAIL] [0x00000002]
так как содержание папок х64 и х86 не идентично!
Код [0x00000003] указывает, что не найден путь, т.е. конечная папка отсутствует
Код [0x00000002] указывает, что не найден файл - получатель
Вы можете убедиться в отсутствии файла или папки, пройдя по пути, указанному в журнале!
-----------------------
Для создания "чистого" пакета вам надо все 4 папки сравнить по содержанию с 64-битной системой
или с распакованным образом INSTALL.WIM из дистрибутива х64.
Операция проста, но однообразна.
Откройте в двухоконном менеджере файлов системную папку SYSTEM32 и аналогичную папку
с респатчерами и проверьте наличие в системе файла, для которого есть респатчер в папке SYSTEM32.
Если в системной папке такого файла нет, то респатчер из SYSTEM32 можно удалять, и т.д.!
Или пропатчить образ 64-битной системы и следуя ошибкам в журнале патчера
удалить респатчеры для несуществующих файлов.
Таким образом вы "вычистите" ненужные для х64 патчеры, но размер распакованного пакета будет больше!
[hr]
[hr]
Сжатие пакетов лучше производить бесплатным архиватором 7-ZIP (http://www.7-zip.org/), т.к. он дает лучшее сжатие!
[hr]
Вопросы по конкретным скриптам и случаям задавайте здесь, а не в теме патчера!
Чтобы было понятно дальнейшее описание структуры папок, поймите следующий момент!
От расположения респатчеров в структуре папок зависит работоспособность пакета!
Зависимость файл - патчер должна быть соблюдена с абсолютной точностью!
Пример #1:
Вы хотите пропатчить файл в папке:
C:\WINDOWS\System32\ru-RU\,
значит в структуре папок патчер для этого файла должен лежать здесь:
X:\WORK\RESOURCES\WINDOWS\System32\ru-RU\
Пример #2:
Вы хотите пропатчить файл в папке:
C:\Program Files\Windows Media Player\,
значит в структуре папок патчер для этого файла должен лежать здесь:
X:\WORK\RESOURCES\Program Files\Windows Media Player\
Эта же структура подходит и для пропатчивания дистрибутива.
Итак, откройте текстовой файл из вложения, скопируйте ссылку на закачку
и скачайте Структуру папок.
Извлеките из скачанного архива папку WORK в удобное для вас место.
ВНИМАНИЕ! На 64-битных системах скрипты запускать только из Проводника!
Вы можете изменить скрипт под свои нужды, прочитав Ключи командной строки на странице патчера (http://forum.oszone.net/thread-151734.html)
Пропатчивание дистрибутива возможно только на Windows 7, т.к. монтирование
происходит утилитой DISM.EXE, которая в предыдущих системах по умолчанию отсутствует!
Это сделано специально, потому что перед обработкой дистрибутива надо проверить работу пропатченной
системы, а сделать это можно только на самой же Windows 7, виртуальная машина для этих целей не годится!
Например, при внесении изменений в файл SHELL32.DLL на некоторых системах наблюдаются
проблемы при воспроизведении звука на акустике 5.1!
Монтирование образа с редакцией Х происходит в папку \MOUNT,
которая создается и удаляется автоматически!
Редакция выбирается вами при запросе скрипта!
------------------------
FILES - для копирования файлов в систему (например, копирование вместе с пакетом оформления визуального стиля)
UPDATES - для обновлений системы в формате MSU и CAB
RESOURCES содержит 2 папки:
SHARED - для общих патчеров
EDITIONS - для патчеров конкретных редакций
В основном она предназначена для файла basebrd.dll.mui, содержащего
информацию о редакции системы, которая отображается при входе в систему и
при просмотре меню Справка - О программе...
Check.cmd - скрипт для проверки системы после обновлений
Run.cmd - основной скрипт, производящий пропатчивание установленной системы или дистрибутива
Unmount & Clear.cmd - "дежурный" скрипт.
Может понадобиться при тестировании интеграции пакета оформления в дистрибутив.
Демонтирует неудачно размонтированный образ и подчищает следы монтирования.
Ver.ini - информационный файл для создания деинсталлятора в апплете "Программы и компоненты"
W7Patcher.exe - патчер для х86
W7Patcher_х64.exe - патчер для х64
------------------------
Перед каждым действием выдается запрос на выполнение, отказ или пропуск.
При пропатчивании дистрибутива вы можете отказаться от интеграции обновлений,
но выполнить пропатчивание, можно интегрировать обновления, но не пропатчивать,
а можно выполнить и то и другое.
[hr]
Windows 7 Universal Patcher
Windows 7 Universal Patcher (W7Patcher) представляет собой оболочку для автоматического
применения патчей графических ресурсов, созданных редактором ресурсов Restorator.
По умолчанию при создании респатчера Ресторатор убирает "родное" расширение файла (mui, dll, exe...),
заменяя его на .exe и добавляет к имени файла Patch_.
При пропатчивании W7Patcher отсекает Patch_ и .exe от респатчера, поэтому при сохранении
следует изменить имя респатчера по умолчанию на Patch_имя_файла.расширение.exe.
Пример #1:
Если вы редактировали файл Shell32.dll, то созданный респатчер должен иметь вид Patch_Shell32.dll.exe.
Пример #2:
Если вы редактировали файл Explorer.exe, то созданный респатчер должен иметь вид Patch_Explorer.exe.exe.
Более подробное описание работы патчера по ссылке ниже.
Техническая поддержка и загрузка последней версии патчера (http://forum.oszone.net/thread-151734.html)
Все вопросы по работе патчера задавать в тему патчера!
[hr]
Restorator 2007
Редактирование ресурсов Windows с помощью программы Restorator (http://www.oszone.net/11352/Restorator)
Твик реестра для получения прав на файлы (http://tools.oszone.net/Smarty/FOLDER_STRUCTURE/Take OwnerShip.7z)
После применения твика в контекстное меню будет добавлен пункт "Стать Владельцем".
По умолчанию он скрыт, чтобы случайно не поменять права на другой файл, а появляется только при зажатии кнопки <SHIFT>!
Для исполняемых файлов (.ехе) твик не работает, поэтому получать на них права нужно вручную!
Получение прав на файлы вручную
Для получения прав и разрешений надо щелкнуть ПКМ на файле и выбрать "Свойства".
В открывшемся диалоге выбрать вкладку "Безопасность" и нажать кнопку "Дополнительно".
http://s60.radikal.ru/i167/0909/22/0e559e70434e.png (http://www.radikal.ru)
Далее в открывшемся диалоге выбираем вкладку "Владелец" и кнопку "Изменить".
http://s40.radikal.ru/i089/0909/84/d5c5758a5022.png (http://www.radikal.ru)
Далее выбираем логин пользователя\имя компьютера и нажимаем кнопку "Применить",
"ОК" в информационном диалоге и "ОК" в диалоге выбора владельца.
http://s03.radikal.ru/i176/0909/c6/9dab7840aac6.png (http://www.radikal.ru)
Теперь переходим на вкладку "Разрешения" и нажимаем кнопку "Изменить разрешения..."
http://i030.radikal.ru/0909/56/c1b6dff5e9d2.png (http://www.radikal.ru)
В следующем диалоге выбираем "Пользователи\имя компьютера" и нажимаем кнопку "Изменить".
http://s54.radikal.ru/i144/0909/0d/1a20837fee4b.png (http://www.radikal.ru)
Выбираем "Разрешить полный доступ" и жмем "ОК".
http://s61.radikal.ru/i173/0909/b7/c76490867d94.png (http://www.radikal.ru)
Далее кнопкой "ОК" закрываем все диалоги получения прав и разрешений.
Можно приступать к редактированию ресурсов файла!
[hr]
Сборка пакета оформления х86
После изменения и тестирования пропатченного системного файла создайте для него респатчер
и положите его (респатчер) в структуру папок на соответствующее место!
Если при выборе места будет допущена ошибка, то файл в системе пропатчен не будет!
Помните так же, что для структуры папок путь Х:\WORK\RESOURCES соответствует С:\ в системе!
При тестировании пакета не пропатчивайте систему повторно!
Сделайте откат изменений и проверяйте на "чистой" системе!
Это займет немного больше времени, но поможет избежать путаницы и появления ошибок!
[hr]
Сборка пакета оформления х64
Сборка пакета оформления только для 64-битной системы идентична сборке для х86 с той лишь разницей,
что при копировании респатчера в папку Х:\WORK\RESOURCES\PROGRAM FILES надо проверять
наличие такого же файла в системной папке C:\PROGRAM FILES (Х86) и, если такой файл там есть,
скопировать респатчер и в папку Х:\WORK\RESOURCES\PROGRAM FILES (Х86).
Соответственно и с остальными "двойными" папками!
Если файл - получатель существует только в папке C:\WINDOWS\SYSWOW64, то и респатчер кладется
только в папку Х:\WORK\RESOURCES\WINDOWS\SYSWOW64.
Если файл - получатель существует и в C:\WINDOWS\SYSTEM32 и в C:\WINDOWS\SYSWOW64,
то и копировать респатчер надо в папки Х:\WORK\RESOURCES\WINDOWS\SYSTEM32 и в Х:\WORK\RESOURCES\WINDOWS\SYSWOW64.
[hr]
Сборка пакета оформления х86 \ х64 из пакета х86
Во-первых учтите, что в некоторых файлах есть одинаковые диалоги, но отображаются они каждый на "своей" системе!
В качестве примера можете посмотреть диалоги в файле C:\Windows\System32\ru-RU\inetcpl.cpl.mui
Во-вторых, я буду исходить из того, что пакет для х86 уже сделан, т.к. эта система проще по структуре!
Как вы знаете, в 64-битной системе есть папки для х64 и х86.
С программными папками всё понятно: PROGRAM FILES для х64 и PROGRAM FILES (Х86) для х86 соответственно,
а с системными папками наоборот: SYSTEM32 для х64 и SYSWOW64 для х86!
Поскольку респатчеры не затрагивают программный код файлов, а только графические ресурсы,
то респатчеры, созданные для системы х86 подходят для пропатчивания системы х64!
Визуальные стили не привязаны к битности системы, поэтому подходят для обоих систем!
Можно просто скопировать содержимое папок PROGRAM FILES и SYSTEM32 в папки
PROGRAM FILES (Х86) и SYSWOW64 соответственно и пакет будет готов для работы
с 64-битной системой, но...
При использовании этого метода журнал патчера W7Patcher.log будет содержать записи об ошибках (пример):
C:\Windows\SysWOW64\authui.dll [FAIL] [0x00000003]
C:\Windows\System32\ru-RU\cmncliM.dll.mui [FAIL] [0x00000002]
так как содержание папок х64 и х86 не идентично!
Код [0x00000003] указывает, что не найден путь, т.е. конечная папка отсутствует
Код [0x00000002] указывает, что не найден файл - получатель
Вы можете убедиться в отсутствии файла или папки, пройдя по пути, указанному в журнале!
-----------------------
Для создания "чистого" пакета вам надо все 4 папки сравнить по содержанию с 64-битной системой
или с распакованным образом INSTALL.WIM из дистрибутива х64.
Операция проста, но однообразна.
Откройте в двухоконном менеджере файлов системную папку SYSTEM32 и аналогичную папку
с респатчерами и проверьте наличие в системе файла, для которого есть респатчер в папке SYSTEM32.
Если в системной папке такого файла нет, то респатчер из SYSTEM32 можно удалять, и т.д.!
Или пропатчить образ 64-битной системы и следуя ошибкам в журнале патчера
удалить респатчеры для несуществующих файлов.
Таким образом вы "вычистите" ненужные для х64 патчеры, но размер распакованного пакета будет больше!
[hr]
[hr]
Сжатие пакетов лучше производить бесплатным архиватором 7-ZIP (http://www.7-zip.org/), т.к. он дает лучшее сжатие!
[hr]
Вопросы по конкретным скриптам и случаям задавайте здесь, а не в теме патчера!