From 4607d8469ede0999abbad00e3f7721e4a9704d45 Mon Sep 17 00:00:00 2001 From: "Michael H.G. Schmidt" Date: Sun, 21 Mar 2021 00:08:41 +0100 Subject: [PATCH] installer, script names etc.pp --- 03_DownloadAll.cmd => 02_DownloadAll.cmd | 0 02_MakeAll.cmd => 03_MakeAll.cmd | 0 06_PrepareStick.cmd => 06_Copy2Stick.cmd | 0 boot/autounattend_BIOS.xml | 6 +- boot/autounattend_UEFI.xml | 6 +- settings.cmd | 2 + source/installer.pb | 141 ++++++++++++++++++----- wim/finish-boot.cmd | 14 +++ wim/installer.exe | Bin 59392 -> 61952 bytes wim/recompile.installer.cmd | 15 +++ 10 files changed, 147 insertions(+), 37 deletions(-) rename 03_DownloadAll.cmd => 02_DownloadAll.cmd (100%) rename 02_MakeAll.cmd => 03_MakeAll.cmd (100%) rename 06_PrepareStick.cmd => 06_Copy2Stick.cmd (100%) create mode 100644 settings.cmd create mode 100644 wim/recompile.installer.cmd diff --git a/03_DownloadAll.cmd b/02_DownloadAll.cmd similarity index 100% rename from 03_DownloadAll.cmd rename to 02_DownloadAll.cmd diff --git a/02_MakeAll.cmd b/03_MakeAll.cmd similarity index 100% rename from 02_MakeAll.cmd rename to 03_MakeAll.cmd diff --git a/06_PrepareStick.cmd b/06_Copy2Stick.cmd similarity index 100% rename from 06_PrepareStick.cmd rename to 06_Copy2Stick.cmd diff --git a/boot/autounattend_BIOS.xml b/boot/autounattend_BIOS.xml index 1a0b34a..5eaaf7a 100644 --- a/boot/autounattend_BIOS.xml +++ b/boot/autounattend_BIOS.xml @@ -4,12 +4,12 @@ - de-DE + en-US de-DE de-DE en-US - en-US + de-DE @@ -85,7 +85,7 @@ de-DE - en-US + de-DE en-US de-DE diff --git a/boot/autounattend_UEFI.xml b/boot/autounattend_UEFI.xml index c542229..77226b0 100644 --- a/boot/autounattend_UEFI.xml +++ b/boot/autounattend_UEFI.xml @@ -4,12 +4,12 @@ - de-DE + en-US de-DE de-DE en-US - en-US + de-DE @@ -105,7 +105,7 @@ de-DE - en-US + de-DE en-US de-DE diff --git a/settings.cmd b/settings.cmd new file mode 100644 index 0000000..9382235 --- /dev/null +++ b/settings.cmd @@ -0,0 +1,2 @@ +set LANG=de-DE + diff --git a/source/installer.pb b/source/installer.pb index d66986f..858403a 100644 --- a/source/installer.pb +++ b/source/installer.pb @@ -4,55 +4,134 @@ ; LICENSE : GPL ; AUTHOR : Michael H.G. Schmidt ; EMAIL : michael@schmidt2.de -; DATE : 20210317 +; DATE : 20210320 ; ------------------------------------------------------------ ; -; preparations to use native "system" command... +; preparations to use native "system" command ... ImportC "msvcrt.lib" system(str.p-ascii) EndImport -; open window to hide all other windows on dekstop ... +; Get system drive +SYS$=GetEnvironmentVariable("SystemDrive") + +Procedure StartInstallation() + + Result = MessageRequester("+++ Windows 10 unattended Installation +++", + "This will install a new OS (unattended)" + Chr(13) + + "and it will DELETE all DATA an your [ C: ] Drive!", + #PB_MessageRequester_YesNo | #PB_MessageRequester_Info) + + If Result = #PB_MessageRequester_Yes + + Result = MessageRequester("Caution !", + "LAST WARNING:" + Chr(13) + + "REALLY DELETE ALL Data on DRIVE [ C: ] ?", + #PB_MessageRequester_YesNo | #PB_MessageRequester_Warning) + + ; start installation ... + If Result = #PB_MessageRequester_Yes + dummy=system(SYS$ + "\winsetup.exe") + End 0 + EndIf + + EndIf + + ; new fullscreen window with red colour ... + OpenWindow(10, 0, 0, 0, 0, "", #PB_Window_BorderLess | #PB_Window_Maximize) + SetWindowColor(10, RGB($FF,$00,$00)) + + ; kill main window ... + CloseWindow(0) + + MessageRequester("END.","Press OK to shutdown your system.",#PB_MessageRequester_Info) + + End + +EndProcedure + + +Procedure StartCMD() + + ; start a command shell ... + dummy=system(SYS$ + "\windows\system32\cmd.exe /C start /D "+SYS$+"\ "+SYS$+"\windows\system32\cmd.exe /K wpeutil initializenetwork") + +EndProcedure + + +Procedure StartSnapshot64() + + ; start backup/restore program ... + dummy=system(SYS$ + "\windows\system32\cmd.exe /C start /D "+SYS$+"\ "+SYS$+"\snapshot64.exe") + +EndProcedure + + +; Button handler procedure +Procedure ButtonHandler() + + Select EventGadget() + + Case 0 + StartInstallation() + Case 1 + StartCMD() + Case 2 + StartSnapshot64() + + EndSelect + +EndProcedure + + +;;;;;;; +; MAIN +;;;;;;; + +; open window to hide all other windows on desktop ... OpenWindow(0, 0, 0, 0, 0, "", #PB_Window_BorderLess | #PB_Window_Maximize) ; set colour to windows blue ... SetWindowColor(0, RGB($00,$a2,$ed)) -Result = MessageRequester("+++ Windows 10 unattended Installation +++", - "This will install a new OS (unattended)" + Chr(13) + - "and it will DELETE all DATA an your [ C: ] Drive!", - #PB_MessageRequester_YesNo | #PB_MessageRequester_Info) +; Get window size +W = WindowWidth(0) +H = WindowHeight(0) -If Result = #PB_MessageRequester_Yes - - Result = MessageRequester("Caution !", - "LAST WARNING:" + Chr(13) + - "REALLY DELETE ALL Data on DRIVE [ C: ] ?", - #PB_MessageRequester_YesNo | #PB_MessageRequester_Warning) - - ; start installation ... - If Result = #PB_MessageRequester_Yes - dummy=system("x:\winsetup.exe") - End 0 - EndIf +; Shrink factor for buttons +S=0.1 -EndIf +; X and Y root +X0=W/2-(W*S/2) +Y0=H/2-(W*S/2) -; show abort message ... -OpenWindow(1, 0, 0, 270, 70, "Installation ABORTED", - #PB_Window_SystemMenu | #PB_Window_ScreenCentered) +; calculations for buttons +ButtonH=H*0.1 +ButtonW=W*0.1 +GAP=ButtonW*0.1 -If LoadFont(0, "System", 10) - SetGadgetFont(#PB_Default, FontID(0)) -EndIf +BX1=W/3 +BX2=BX1 + ButtonW + GAP +BX3=BX2 + ButtonW + GAP -TextGadget(0, 0, 20, 270, 30, "Please POWEROFF your system now!", #PB_Text_Center) +BY=H/2-ButtonH/2 -; wait forever (window cannot be closed by user) ... -Repeat : Until WaitWindowEvent() = True +; Create Buttons +ButtonGadget(0, BX1, BY, ButtonW, ButtonH, "INSTALL system", #PB_Button_MultiLine) +BindGadgetEvent(0, @ButtonHandler()) + +ButtonGadget(1, BX2, BY, ButtonW, ButtonH, "COMMAND shell"+Chr(13)+"(with network)", #PB_Button_MultiLine) +BindGadgetEvent(1, @ButtonHandler()) + +ButtonGadget(2, BX3, BY, ButtonW, ButtonH, "Snapshot 64"+Chr(13)+"(Backup/Restore)", #PB_Button_MultiLine) +BindGadgetEvent(2, @ButtonHandler()) + +; MAIN LOOP +Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow ; IDE Options = PureBasic 5.73 LTS (Windows - x64) -; CursorPosition = 32 -; FirstLine = 8 +; CursorPosition = 118 +; FirstLine = 86 +; Folding = - ; EnableXP \ No newline at end of file diff --git a/wim/finish-boot.cmd b/wim/finish-boot.cmd index 470e282..320d77d 100644 --- a/wim/finish-boot.cmd +++ b/wim/finish-boot.cmd @@ -2,14 +2,28 @@ set SOURCES=c:\TEMP\W10\sources set BOOT=c:\TEMP\BOOT +if EXIST ..\settings.cmd ( + call ..\settings.cmd +) else ( + set LANG=en-US +) +echo LANG=%LANG% + if NOT EXIST %BOOT%\winsetup.exe ( echo renaming Windows setup.exe to boot ... move /Y %BOOT%\setup.exe %BOOT%\winsetup.exe ) +echo setting language in boot ... +dism /image:%BOOT% /Set-InputLocale:%LANG% +dism /image:%BOOT% /Set-SysLocale:%LANG% + echo replacing setup.exe with our installer utility ... copy /Y installer.exe %BOOT%\setup.exe +echo copy snapshot64 to boot ... +copy /Y ..\software\snapshot64.exe %BOOT% + echo showing boot contents ... dir %BOOT% diff --git a/wim/installer.exe b/wim/installer.exe index 1ca7adc8cc52bcd7d87d72062aa753102cfa1773..19ffc927d625a3477d6c33c1dc36a44f310d53b3 100644 GIT binary patch delta 23500 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 NJAZQKr-@Ze{|EQ?{`mj^ delta 21315 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 SG;iu8=hXh$sK2Xn@c#h=fV>O< diff --git a/wim/recompile.installer.cmd b/wim/recompile.installer.cmd new file mode 100644 index 0000000..d66d6a1 --- /dev/null +++ b/wim/recompile.installer.cmd @@ -0,0 +1,15 @@ +@echo off + +rem remount boot image and recompile installer ... + +del /F installer.exe 1>nul 2>nul +echo +++++++++++++++++++++++++++++++++++ +call pbc.cmd ..\source\installer.pb +echo +++++++++++++++++++++++++++++++++++ +call umount-all.cmd +echo +++++++++++++++++++++++++++++++++++ +call mount-boot.cmd +echo +++++++++++++++++++++++++++++++++++ +call finish-boot.cmd +echo +++++++++++++++++++++++++++++++++++ +