AlexM2222
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Цитата: В общем, нужно не дать тому, что запустилось из winpeshl.ini закрыться до запуска setup.exe | Эта фраза оказалась ключевой! Обошёлся без костылей... Вот окончательный результат: 1. создал файл winpeshl.ini: Код: [LaunchApps] %SYSTEMDRIVE%\sources\loader.exe | 2. Закинул всё в boot.wim (второй образ) с такой структурой X:\Windows\System32\winpeshl.ini X:\Sources\Loader.exe X:\Sources\Scripts\Manual.xml X:\Sources\Scripts\Unattend.xml X:\Sources\Scripts\nircmd.exe 3. GUI (Скрипт AutoIT-а конвертировал в Loader.exe) Код: #NoTrayIcon #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #Region ### START Koda GUI section ### $Form1 = GUICreate("Windows 7 Ultimate SP1 (32-bit)", 342, 234, -1, -1, BitOr($WS_CAPTION, $WS_SYSMENU, $WS_POPUP)) GUISetFont(9, 400, 0, "Tahoma") $Group1 = GUICtrlCreateGroup(" Установка Windows 7 Ultimate ", 8, 8, 326, 90) GUICtrlSetFont(-1, 9, 800) $Button1 = GUICtrlCreateButton("Установка Windows 7 Ultimate (стандартная)", 16, 32, 310, 25) GUICtrlSetTip(-1, "Начать установку Windows 7 Ultimate (32-bit). Почти все параметры устанавливаются вручную.") $Button2 = GUICtrlCreateButton("Установка Windows 7 Ultimate (автоматическая)", 16, 65, 310, 25) GUICtrlSetTip(-1, "Начать установку Windows 7 Ultimate (32-bit). Все параметры устанавливаются автоматически (кроме разметки диска).") GUICtrlCreateGroup("", -99, -99, 1, 1) $Group2 = GUICtrlCreateGroup(" Восстановлениие системы ", 8, 106, 326, 57) GUICtrlSetFont(-1, 9, 800) $Button3 = GUICtrlCreateButton("Запуск восстановления системы", 16, 130, 310, 25) GUICtrlSetTip(-1, "Запустить среду восстановления Windows 7 (32-bit).") GUICtrlCreateGroup("", -99, -99, 1, 1) $Group3 = GUICtrlCreateGroup(" Завершение работы ", 8, 168, 326, 57) GUICtrlSetFont(-1, 9, 800) $Button4 = GUICtrlCreateButton("Выключение", 16, 192, 151, 25) GUICtrlSetTip(-1, "Завершение программы и выключение системы.") $Button5 = GUICtrlCreateButton("Перезагрузка", 175, 192, 151, 25) GUICtrlSetTip(-1, "Завершение программы и перезагрузка системы.") GUICtrlCreateGroup("", -99, -99, 1, 1) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### Run("X:\Sources\Scripts\nircmd.exe setdisplay 1024 768 32") While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE if MsgBox(4 + 32, 'Выход из программы установки', 'Вы точно хотите закрыть программу?') = 6 Then Exit Case $Button1 GUISetState(@SW_HIDE, $Form1) RunWait("X:\Setup.exe /unattend:X:\Sources\Scripts\Manual.xml") GUISetState(@SW_SHOW, $Form1) Case $Button2 GUISetState(@SW_HIDE, $Form1) RunWait("X:\Setup.exe /unattend:X:\Sources\Scripts\Unattend.xml") GUISetState(@SW_SHOW, $Form1) Case $Button3 GUISetState(@SW_HIDE, $Form1) RunWait("X:\Sources\Recovery\RecEnv.exe") GUISetState(@SW_SHOW, $Form1) Case $Button4 Shutdown(9) Case $Button5 Shutdown(2) Exit EndSwitch WEnd | | Всего записей: 116 | Зарегистр. 05-09-2010 | Отправлено: 15:03 09-11-2014 | Исправлено: AlexM2222, 17:29 30-11-2014 |
|