[Quote]

    Adler
  • 1708
  • Longevity: 3 years 7 months
  • Posts: 905
  • REPUTATION:45

    [+] [-]
  • Location: Луганск
UWI_Shell - менеджер установки различных версий Windows для интеграции в Boot.wim

Принцип работы:
При запуске (из winpeshl.ini или другого скрипта) происходит поиск файлов install.wim(.esd/.swm) по всем логическим дискам, имеющим назначенную букву диска, согласно файла конфигурации UWIS.cfg (описан ниже), где задается корневая папка и папки для каждой конкретной редакции. При нахождении такого файла (install.wim/esd/swm) ищется рядом папка OEM либо $OEM$ и файл unattend.xml либо _unattend.xml. В зависимости от найденных версий в программе становятся активными только те пункты, для которых был найден install.wim/.esd/.swm.
Фактически возможна установка из 9 источников - 3 редакции Windows (7/8.1/10) и 3 варианта (AIO/x32/x64) каждой редакции, которые можно держать на флешке/диске одновременно.
При наличии setup.exe в папке с install.wim/.esd/.swm запускается он, в противном - X:\setup.exe
Особенности: т.к. менеджер написан с использованием .Net Framework на C#, то для работы менеджера необходим интегрированный в BOOT.WIM - WinPE-NetFx.cab
По умолчанию, в стандартном boot.wim он отсутствует. В случае использования своего BOOT.WIM, WinPE-NetFx туда необходимо интегрировать с помощью Assessment and Deployment Kit.
Готовый BOOT.WIM можно взять из ссылки ниже. Отдельно выложены оригинальные "чистые" BOOT.WIM (от Windows 10 - 10.0.10586) 2х разрядностей с интегрированным WinPE-NetFx и BOOT.WIM с интегрированным в них NetFx и UWI_Shell.
Установка и настройка:
Скопировать SHELL.exe в BOOT.wim (по идее не важно, в корень или какую то папку) прописав в winpeshl.ini путь к файлу.
Файл конфигурации разместить в \windows\system32, в случае если SHELL.exe запускается через winpeshl.ini. Если SHELL.exe запускается с какого то промежуточного скрипка, то файл конфигурации должен лежать в той папке, откуда вызывается запуск SHELL.exe. (я сперва себе долго голову ломал вопросом, почему в рабочей ОС все нормально работает, а после интеграции в boot.wim нет, пока не выяснил что та функция, которая должна возвращать путь к запущенному файлу (ну я так думал, что она его должна возвращать) на самом деле возвращает путь, откуда был вызван запуск)
Отредактировать под свои папки...
Файл конфигурации UWIS.cfg имеет следующий вид:
<тут должна быть пустая строка>
[MAIN]
rootdir=_win
cfg=
[W7]
W7AIO=w7_aio
W7x32=w7_x32
W7x64=w7_x64
[W8]
W8AIO=w8_aio
W8x32=w8_x32
W8x64=w8_x64
[W10]
W10AIO=w10_aio
W10x32=w10_x32
W10x64=w10_x64
Особенность - в файле первая строка (перед [MAIN]) должна быть пустая (точнее содержать перенос строки(enter)). Это особенность корявого .ini парсера...
Параметр root - папка в корне диска, по которой происходит поиск папок версий.
По идее параметр может содержать более "глубокое" сложение, к примеру _mywindows\win, но работоспособность такого варианта не проверялась. Это же касается и пути к папкам версий.
P.S. Параметр cfg пока не используется, можно удалить...
В разделах [W7][W8][W10] указываются названия папок, вложенных в папку заданную параметром root, в которых происходит поиск файлов install.wim/.esd.swm. Т.е. при данном файле конфигурации поиск происходит в папках (буква диска):\_win\w7_aio (буква диска):\_win\w7_x32 и т.д.
Программа после загрузки запускается с некоторой задержкой. Это какая то особенность (читать - "тормознутость") .Net. При работе программы так же возможны мелкие подтормаживании т.к. при каждом переключении радио-кнопки происходит перепроверка наличия файлов install.wim/.esd./.swm, такова особенность алгоритма...
Программа тестовая, работоспособность проверялась только поверхностно. Буду благодарен за тестирование, отзывы и предложения...
Пока что в программе отсутствует проверка на наличие файла концигурации. Если файл не находится программа запускается со всеми неактивными пунктами. Допишу позже, т.к. есть еще одна задумка относительно файла конфигураци, но пока руки и голова до этого не дошли...
Программу, а так же готовые boot.wim можно скачать тут - https://yadi.sk/d/VhvlT-gCsH7k4
Небольшое демо-видео - https://www.youtube.com/watch?v=2X8JWVI8Qac (На 0:40 отработала тестовая заглушка setup.exe из папки где лежит install.wim)
07.06.2016 - Перезалил boot_64.wim с интегрированной оболочкой и залил отдельно 64 битную версию Shell.exe (в соответствующем архиве).
11.06.2016 - Исправил косяк с не помещающейся надписью "Перезагруз" (перезалил архивы). Заменил образы с оболочкой с оригинальных на собранные в ADK, работоспособность которых была проверена на реальном железе.
P.S. Вопрос к "знатокам". При запуске установки (нажатия кнопки "Установить") запускается setup.exe, но сама программа остается запущенной и в случае отмены установки (закрытии окна установки) возвращается окно менеджера. Надо ли так делать или лучше закрыть окно менеджера сразу после запуска установки?
И еще вопрос, можно ли с загруженного boot.wim как то определить, с какого именно носителя он загружен? Как, например, запущенный X:\Setup.exe без параметров находит папку \Source на диске? Или путем перебора всех дисков?


Last edited by Adler on 2016-09-26 23:13; edited 9 times in total

[Quote]

    nefchi1
  • 13724
  • Longevity: 3 years 1 month
  • Posts: 38
  • REPUTATION:0

    [+] [-]
  • Location: Солнечный Баку
Adler, Возможен ли вот такой вариант
<тут должна быть пустая строка>
[MAIN]
rootdir=_win
cfg=
[W7]
W7AIO=w7_aio
[W8]
W8AIO=w8_aio
[W10]
W10AIO=w10_aio

[Quote]

    Adler
  • 1708
  • Longevity: 3 years 7 months
  • Posts: 905
  • REPUTATION:45

    [+] [-]
  • Location: Луганск
nefchi1, по идее да, но надо проверять.

[Quote]

    nefchi1
  • 13724
  • Longevity: 3 years 1 month
  • Posts: 38
  • REPUTATION:0

    [+] [-]
  • Location: Солнечный Баку
Adler, А где находится фаил UWIS.cfg

[Quote]

    sirob75
  • 499
  • Longevity: 4 years 2 months
  • Posts: 38
  • REPUTATION:1

    [+] [-]
  • Location: Сталинград
Windows\System32

[Quote]

    nefchi1
  • 13724
  • Longevity: 3 years 1 month
  • Posts: 38
  • REPUTATION:0

    [+] [-]
  • Location: Солнечный Баку
40738Windows\System32
Мерси
az

[Quote]

    nefchi1
  • 13724
  • Longevity: 3 years 1 month
  • Posts: 38
  • REPUTATION:0

    [+] [-]
  • Location: Солнечный Баку
40735nefchi1, по идее да, но надо проверять.
Работает на ура ag

Page 5 of 5


Display posts:    

Current time is: 27-May 05:57

All times are UTC + 3


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum