[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]

    nik63
  • 1479
  • Longevity: 3 years 8 months
  • Posts: 191
  • REPUTATION:4

    [+] [-]
  • Location: Башкирия
Скажите пожалуйста какие boot.wim качать надо BOOT.WIM (от Windows 10 - 10.0.10586) 2х разрядностей с интегрированным WinPE-NetFx или BOOT.WIM с интегрированным в них NetFx и UWI_Shell.

[Quote]

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

    [+] [-]
  • Location: Луганск
nik63, ну это зависит от того, что вам надо. BOOT.WIM с WinPE-NetFx нужен если вы сами хотите туда встроить UWI_Shell или для каких либо других целей. Если надо готовый вариант, то качаете уже с интегрированным UWI_Shell, раскладываете .wim/.esd/.swm образы по папкам _win\w7_aio, _win\w7_x32 и т.д. (в соответствии с файлом конфигурации в первом посте) и пользуетесь...

[Quote]

    nik63
  • 1479
  • Longevity: 3 years 8 months
  • Posts: 191
  • REPUTATION:4

    [+] [-]
  • Location: Башкирия
Adler, Спасибо за быстрый ответ! Теперь всё понял. ap

[Quote]

    vovan1982
  • 214
  • Longevity: 4 years 4 months
  • Posts: 944
  • REPUTATION:56

    [+] [-]
  • Location: Ростов-на-Дону
Adler, а можешь добавить кнопку закрытия окна (крестик)?

[Quote]

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

    [+] [-]
  • Location: Луганск
vovan1982, если исходник найду ah
P.S. Добавил только кнопку закрытия. Не знаю для какой версии FW ранее было, сейчас для 3.5.
Attachments


Last edited by Adler on 2017-01-15 00:59; edited 1 time in total

[Quote]

    KottoSOFT
  • 206
  • Longevity: 4 years 4 months
  • Posts: 713
  • REPUTATION:55

    [+] [-]
Adler, Спасибо по всему видно хорошая идея. При первом же удобном случае опробую.

[Quote]

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

    [+] [-]
  • Location: Луганск
KottoSOFT, та пожалуйста. Только учтите, что бы это работало нужен .Net Framework, который по умолчанию в обычных boot.wim отсутствует.
По ссылке в первом посте на Яндекс выложены boor.wim с интегрированным NetFx (FW).

[Quote]

    KottoSOFT
  • 206
  • Longevity: 4 years 4 months
  • Posts: 713
  • REPUTATION:55

    [+] [-]
35458KottoSOFT, та пожалуйста. Только учтите, что бы это работало нужен .Net Framework, который по умолчанию в обычных boot.wim отсутствует.
По ссылке в первом посте на Яндекс выложены boor.wim с интегрированным NetFx (FW).
Я уже всё, что там есть сохранил на своя Яндекс скачать их на комп дело пары минут.

[Quote]

    vovan1982
  • 214
  • Longevity: 4 years 4 months
  • Posts: 944
  • REPUTATION:56

    [+] [-]
  • Location: Ростов-на-Дону
Adler, спасибо.

[Quote]

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

    [+] [-]
  • Location: Солнечный Баку
Вот такая ситуация не активны кнопки, кроме перезагрузка и выключить

[Quote]

    vovan1982
  • 214
  • Longevity: 4 years 4 months
  • Posts: 944
  • REPUTATION:56

    [+] [-]
  • Location: Ростов-на-Дону
nefchi1, a checkbox тоже неактивен? Вы же выбирете, что ставить и кнопки разблокируются.

[Quote]

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

    [+] [-]
  • Location: Солнечный Баку
40662nefchi1, a checkbox тоже неактивен? Вы же выбирете, что ставить и кнопки разблокируются.
Нет кроме как перезагрузка и выключить не одна кнопка не активна

[Quote]

    darkalexx4
  • 346
  • Longevity: 4 years 3 months
  • Posts: 103
  • REPUTATION:4

    [+] [-]
  • Location: Минск
nefchi1, А образы или install.wim находятся согласно прописанным путям в конфиге утилиты?

[Quote]

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

    [+] [-]
  • Location: Луганск
nefchi1, кнопки могут быть диактивированы только по причине того, что не найдены install.wim/.esd/.swm соответствующие кнопкам по пути указанном в конфиге.
Если все в конфиге точно прописано верно, то может быть дело в этом -
Особенность - в файле первая строка (перед [MAIN]) должна быть пустая (точнее содержать перенос строки(enter)). Это особенность корявого .ini парсера...

[Quote]

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

    [+] [-]
  • Location: Солнечный Баку
40671nefchi1, кнопки могут быть диактивированы только по причине того, что не найдены install.wim/.esd/.swm соответствующие кнопкам по пути указанном в конфиге.
Если все в конфиге точно прописано верно, то может быть дело в этом -
Особенность - в файле первая строка (перед [MAIN]) должна быть пустая (точнее содержать перенос строки(enter)). Это особенность корявого .ini парсера...
Всё разобрался заработало Спасибо

Page 4 of 5


Display posts:    

Current time is: 27-May 06:36

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