From 783a4ef023ee31f208a33a1a7ef0532f133e2d16 Mon Sep 17 00:00:00 2001 From: Kroese Date: Mon, 29 Jan 2024 17:19:34 +0100 Subject: [PATCH] feat: Added Windows Vista support (#135) --- assets/win7x64.xml | 2 +- assets/winvistax64.xml | 250 +++++++++++++++++++++++++++++++++++++++++ readme.md | 1 + src/install.sh | 12 ++ 4 files changed, 264 insertions(+), 1 deletion(-) create mode 100644 assets/winvistax64.xml diff --git a/assets/win7x64.xml b/assets/win7x64.xml index c725ab713..a3d30a21d 100644 --- a/assets/win7x64.xml +++ b/assets/win7x64.xml @@ -103,7 +103,7 @@ D:\qemupciserial\w7\amd64 - D:\qxldod\w7\amd64 + D:\qxldod\w8\amd64 D:\vioinput\w7\amd64 diff --git a/assets/winvistax64.xml b/assets/winvistax64.xml new file mode 100644 index 000000000..c425c407d --- /dev/null +++ b/assets/winvistax64.xml @@ -0,0 +1,250 @@ + + + + + + en-US + + 0409:00000409 + en-US + en-US + en-US + + + + OnError + + 0 + true + + + 1 + Primary + 100 + + + 2 + Primary + true + + + + + NTFS + + 1 + true + 1 + + + true + NTFS + + C + 2 + 2 + + + + + + + + + Windows Vista Ultimate + /IMAGE/NAME + + + + 0 + 2 + + OnError + false + + + + true + Docker + Windows for Docker + + VMCB9-FDRV6-6CDQM-RV23K-RP8F7 + + + + + + + D:\viostor\2k8\amd64 + + + D:\NetKVM\2k8\amd64 + + + D:\vioscsi\2k8\amd64 + + + + + + + true + + + 1 + + + + + true + + + * + VMCB9-FDRV6-6CDQM-RV23K-RP8F7 + Pacific Standard Time + + Dockur + Windows for Docker + + Dockur + Windows for Docker + + + 1 + + + false + + + + + 0409:00000409 + en-US + en-US + + + about:blank + + + 0 + + + + + + Docker + Administrators + + + true</PlainText> + </Password> + </LocalAccount> + </LocalAccounts> + <AdministratorPassword> + <Value>password</Value> + <PlainText>true</PlainText> + </AdministratorPassword> + </UserAccounts> + <AutoLogon> + <Username>Docker</Username> + <Enabled>true</Enabled> + <LogonCount>1</LogonCount> + <Password> + <Value /> + <PlainText>true</PlainText> + </Password> + </AutoLogon> + <OOBE> + <HideEULAPage>true</HideEULAPage> + <NetworkLocation>Other</NetworkLocation> + <ProtectYourPC>3</ProtectYourPC> + <SkipUserOOBE>true</SkipUserOOBE> + <SkipMachineOOBE>false</SkipMachineOOBE> + </OOBE> + <RegisteredOrganization>Dockur</RegisteredOrganization> + <RegisteredOwner>Windows for Docker</RegisteredOwner> + <FirstLogonCommands> + <SynchronousCommand wcm:action="add"> + <Order>1</Order> + <CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoLogonCount /t REG_DWORD /d 0 /f</CommandLine> + <Description>Set AutoLogonCount to 0</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>2</Order> + <CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine> + <Description>Allow RDP login with blank password</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>3</Order> + <CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine> + <Description>Password Never Expires</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>4</Order> + <CommandLine>cmd /C POWERCFG -H OFF</CommandLine> + <Description>Disable Hibernation</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>5</Order> + <CommandLine>cmd /C POWERCFG -X -monitor-timeout-ac 0</CommandLine> + <Description>Disable monitor blanking</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>6</Order> + <CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f</CommandLine> + <Description>Disable Network Discovery popup</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>7</Order> + <CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NetworkLocationWizard" /v "HideWizard" /t REG_DWORD /d 1 /f</CommandLine> + <Description>Disable Network Discovery popup</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>8</Order> + <CommandLine>reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f</CommandLine> + <Description>Disable first-run experience in Edge</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>9</Order> + <CommandLine>reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f</CommandLine> + <Description>Show file extensions in Explorer</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>10</Order> + <CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f</CommandLine> + <Description>Zero Hibernation File</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>11</Order> + <CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f</CommandLine> + <Description>Disable Hibernation Mode</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>12</Order> + <CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\NewNetworks" /v NetworkList /t REG_MULTI_SZ /d "" /f</CommandLine> + <Description>Disable Network Discovery popup</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>13</Order> + <CommandLine>netsh.exe advfirewall firewall set rule group="Remote Desktop" new enable=Yes</CommandLine> + <Description>Add RDP in firewall</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>14</Order> + <CommandLine>netsh.exe Advfirewall set allprofiles state off</CommandLine> + <Description>Disable firewall</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>15</Order> + <CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f</CommandLine> + <Description>Enable RDP</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>16</Order> + <CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Windows\Sidebar" /v "TurnOffSidebar" /t REG_DWORD /d 1 /f</CommandLine> + <Description>Turn off sidebar</Description> + </SynchronousCommand> + </FirstLogonCommands> + </component> + </settings> +</unattend> diff --git a/readme.md b/readme.md index 2f89f19b3..f917c2839 100644 --- a/readme.md +++ b/readme.md @@ -79,6 +79,7 @@ docker run -it --rm -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-ti | `ltsc10` | Windows 10 LTSC | Microsoft | Fast | 4.6 GB | | `win81` | Windows 8.1 Pro | Microsoft | Fast | 4.2 GB | | `win7` | Windows 7 SP1 | Bob Pony | Medium | 3.0 GB | + | `vista` | Windows Vista SP2 | Bob Pony | Medium | 3.6 GB | |||||| | `2022` | Windows Server 2022 | Microsoft | Fast | 4.7 GB | | `2019` | Windows Server 2019 | Microsoft | Fast | 5.3 GB | diff --git a/src/install.sh b/src/install.sh index 286120d2b..c57ad05ec 100644 --- a/src/install.sh +++ b/src/install.sh @@ -24,6 +24,9 @@ fi [[ "${VERSION,,}" == "7" ]] && VERSION="win7x64" [[ "${VERSION,,}" == "win7" ]] && VERSION="win7x64" +[[ "${VERSION,,}" == "vista" ]] && VERSION="winvistax64" +[[ "${VERSION,,}" == "winvista" ]] && VERSION="winvistax64" + [[ "${VERSION,,}" == "22" ]] && VERSION="win2022-eval" [[ "${VERSION,,}" == "2022" ]] && VERSION="win2022-eval" [[ "${VERSION,,}" == "win22" ]] && VERSION="win2022-eval" @@ -59,6 +62,11 @@ if [[ "${VERSION,,}" == "win7x64" ]]; then VERSION="https://dl.bobpony.com/windows/7/en_windows_7_enterprise_with_sp1_x64_dvd_u_677651.iso" fi +if [[ "${VERSION,,}" == "winvistax64" ]]; then + DETECTED="winvistax64" + VERSION="https://dl.bobpony.com/windows/vista/en_windows_vista_sp2_x64_dvd_342267.iso" +fi + if [[ "${VERSION,,}" == "core11" ]]; then DETECTED="win11x64" VERSION="https://archive.org/download/tiny-11-core-x-64-beta-1/tiny11%20core%20x64%20beta%201.iso" @@ -122,6 +130,8 @@ getName() { [[ "${file,,}" == "win8.1"* ]] && desc="Windows 8" [[ "${file,,}" == "win8"* ]] && desc="Windows 8" [[ "${file,,}" == "win7"* ]] && desc="Windows 7" + [[ "${file,,}" == "winxp"* ]] && desc="Windows XP" + [[ "${file,,}" == "winvista"* ]] && desc="Windows Vista" [[ "${file,,}" == "tiny10"* ]] && desc="Tiny 10" [[ "${file,,}" == "tiny11"* ]] && desc="Tiny 11" [[ "${file,,}" == "tiny11_core"* ]] && desc="Tiny 11 Core" @@ -130,6 +140,8 @@ getName() { [[ "${file,,}" == *"windows8.1"* ]] && desc="Windows 8" [[ "${file,,}" == *"windows8"* ]] && desc="Windows 8" [[ "${file,,}" == *"windows7"* ]] && desc="Windows 7" + [[ "${file,,}" == *"windowsxp"* ]] && desc="Windows XP" + [[ "${file,,}" == *"windowsvista"* ]] && desc="Windows Vista" [[ "${file,,}" == *"windows_11"* ]] && desc="Windows 11" [[ "${file,,}" == *"windows_10"* ]] && desc="Windows 10" [[ "${file,,}" == *"windows_8.1"* ]] && desc="Windows 8"