| 
    
	
		
		
			| 
			
						
							
								Adler
								
						
							
				Стаж: 10 летСообщений: 1209Репутация:65[+]   [-]Откуда: Луганск | 
			
				
				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]) должна быть пустая (точнее содержать перенос строки(enter)). Это особенность корявого .ini парсера...<тут должна быть пустая строка>[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
Параметр 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 на диске? Или путем перебора всех дисков?
 
 Последний раз редактировалось: Adler (2016-09-26 23:13), всего редактировалось 9 раз(а)
 |  
	
		
		
			| 
			
						
							
								Adler
								
						
							
				Стаж: 10 летСообщений: 1209Репутация:65[+]   [-]Откуда: Луганск | 
			
				
				nik63, ну это зависит от того, что вам надо. BOOT.WIM с WinPE-NetFx нужен если вы сами хотите туда встроить UWI_Shell или для каких либо других целей. Если надо готовый вариант, то качаете уже с интегрированным UWI_Shell, раскладываете .wim/.esd/.swm образы по папкам _win\w7_aio, _win\w7_x32 и т.д. (в соответствии с файлом конфигурации в первом посте) и пользуетесь...
								
							 |  
	
		
		
			| 
			
						
							
								KottoSOFT
								
						
							
				Стаж: 10 летСообщений: 562Репутация:65[+]   [-] | 
			
				
				Adler, Спасибо по всему видно хорошая идея. При первом же удобном случае опробую.
								
							 |  
	
		
		
			| 
			
						
							
								Adler
								
						
							
				Стаж: 10 летСообщений: 1209Репутация:65[+]   [-]Откуда: Луганск | 
			
				
				KottoSOFT, та пожалуйста. Только учтите, что бы это работало нужен .Net Framework, который по умолчанию в обычных boot.wim отсутствует.По ссылке в первом посте на Яндекс выложены boor.wim с интегрированным NetFx (FW).
 |  
	
		
		
			| 
			
						
							
								KottoSOFT
								
						
							
				Стаж: 10 летСообщений: 562Репутация:65[+]   [-] | 
			
				
				Я уже всё, что там есть сохранил на своя Яндекс скачать их на комп дело пары минут.35458KottoSOFT, та пожалуйста. Только учтите, что бы это работало нужен .Net Framework, который по умолчанию в обычных boot.wim отсутствует.По ссылке в первом посте на Яндекс выложены boor.wim с интегрированным NetFx (FW).
 |  
	
		
		
			| 
			
						
							
								vovan1982
								
						
							
				Стаж: 10 летСообщений: 1171Репутация:80[+]   [-]Откуда: Ростов-на-Дону |  |  
	
		
		
			| 
			
						
							
								vovan1982
								
						
							
				Стаж: 10 летСообщений: 1171Репутация:80[+]   [-]Откуда: Ростов-на-Дону | 
			
				
				nefchi1, a checkbox тоже неактивен? Вы же выбирете, что ставить и кнопки разблокируются.
								
							 |  
	
								![Ответить с цитатой [Цитировать]](./styles/templates/default/images/lang/ru/icon_quote.gif)  
		 		Отправлено: 23-Апр-2017 12:01
					(спустя 2 часа 16 минут)
	
		
		
			| 
			
						
							
								nefchi1
								
						
							
				Стаж: 9 лет 6 месяцевСообщений: 40Репутация:0[+]   [-]Откуда: Солнечный Баку | 
			
				
				Нет кроме как перезагрузка и выключить не одна кнопка не активна40662nefchi1, a checkbox тоже неактивен? Вы же выбирете, что ставить и кнопки разблокируются. |  
	
		
		
			| 
			
						
							
								darkalexx4
								
						
							
				Стаж: 10 летСообщений: 176Репутация:7[+]   [-]Откуда: Минск | 
			
				
				nefchi1, А образы или install.wim находятся согласно прописанным путям в конфиге утилиты?
								
							 |  
	
		
		
			| 
			
						
							
								Adler
								
						
							
				Стаж: 10 летСообщений: 1209Репутация:65[+]   [-]Откуда: Луганск | 
			
				
				nefchi1, кнопки могут быть диактивированы только по причине того, что не найдены install.wim/.esd/.swm соответствующие кнопкам по пути указанном в конфиге.Если все в конфиге точно прописано верно, то может быть дело в этом -
 Особенность - в файле первая строка (перед [MAIN]) должна быть пустая (точнее содержать перенос строки(enter)). Это особенность корявого .ini парсера... |  
	
		
		
			| 
			
						
							
								nefchi1
								
						
							
				Стаж: 9 лет 6 месяцевСообщений: 40Репутация:0[+]   [-]Откуда: Солнечный Баку | 
			
				
				Всё разобрался заработало Спасибо40671nefchi1, кнопки могут быть диактивированы только по причине того, что не найдены install.wim/.esd/.swm соответствующие кнопкам по пути указанном в конфиге. Если все в конфиге точно прописано верно, то может быть дело в этом - Особенность - в файле первая строка (перед [MAIN]) должна быть пустая (точнее содержать перенос строки(enter)). Это особенность корявого .ini парсера... |  Страница 4 из 5 
	
	
		Текущее время: 31-Окт 21:50 Часовой пояс: UTC + 3  
	| 
		
		Вы не можете начинать темыВы не можете отвечать на сообщения
 Вы не можете редактировать свои сообщения
 Вы не можете удалять свои сообщения
 Вы не можете голосовать в опросах
 Вы не можете прикреплять файлы к сообщениям
 Вы можете скачивать файлы
 
 |  |