diff --git a/.devcontainer.json b/.devcontainer.json new file mode 100644 index 0000000..14d70b4 --- /dev/null +++ b/.devcontainer.json @@ -0,0 +1,6 @@ +{ + "name": "windows", + "service": "windows", + "forwardPorts": [8006], + "dockerComposeFile": "compose.yml" +} diff --git a/.devcontainer/010 - Windows 11 Enterprise/devcontainer.json b/.devcontainer/010 - Windows 11 Enterprise/devcontainer.json deleted file mode 100644 index cc0e5ae..0000000 --- a/.devcontainer/010 - Windows 11 Enterprise/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Windows 11 Enterprise", - "service": "windows", - "containerEnv": { - "VERSION": "11e" - }, - "forwardPorts": [8006], - "portsAttributes": { - "8006": { - "label": "Web", - "onAutoForward": "notify" - } - }, - "otherPortsAttributes": { - "onAutoForward": "ignore" - }, - "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", - "initializeCommand": "docker system prune --all --force" -} diff --git a/.devcontainer/020 - Windows 11 LTSC/devcontainer.json b/.devcontainer/020 - Windows 11 LTSC/devcontainer.json deleted file mode 100644 index 23e54ff..0000000 --- a/.devcontainer/020 - Windows 11 LTSC/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Windows 11 LTSC", - "service": "windows", - "containerEnv": { - "VERSION": "11l" - }, - "forwardPorts": [8006], - "portsAttributes": { - "8006": { - "label": "Web", - "onAutoForward": "notify" - } - }, - "otherPortsAttributes": { - "onAutoForward": "ignore" - }, - "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", - "initializeCommand": "docker system prune --all --force" -} diff --git a/.devcontainer/030 - Windows 10 Pro/devcontainer.json b/.devcontainer/030 - Windows 10 Pro/devcontainer.json deleted file mode 100644 index c5a647b..0000000 --- a/.devcontainer/030 - Windows 10 Pro/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Windows 10 Pro", - "service": "windows", - "containerEnv": { - "VERSION": "10" - }, - "forwardPorts": [8006], - "portsAttributes": { - "8006": { - "label": "Web", - "onAutoForward": "notify" - } - }, - "otherPortsAttributes": { - "onAutoForward": "ignore" - }, - "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", - "initializeCommand": "docker system prune --all --force" -} diff --git a/.devcontainer/040 - Windows 10 Enterprise/devcontainer.json b/.devcontainer/040 - Windows 10 Enterprise/devcontainer.json deleted file mode 100644 index 1466e11..0000000 --- a/.devcontainer/040 - Windows 10 Enterprise/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Windows 10 Enterprise", - "service": "windows", - "containerEnv": { - "VERSION": "10e" - }, - "forwardPorts": [8006], - "portsAttributes": { - "8006": { - "label": "Web", - "onAutoForward": "notify" - } - }, - "otherPortsAttributes": { - "onAutoForward": "ignore" - }, - "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", - "initializeCommand": "docker system prune --all --force" -} diff --git a/.devcontainer/050 - Windows 10 LTSC/devcontainer.json b/.devcontainer/050 - Windows 10 LTSC/devcontainer.json deleted file mode 100644 index dfc8f5c..0000000 --- a/.devcontainer/050 - Windows 10 LTSC/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Windows 10 LTSC", - "service": "windows", - "containerEnv": { - "VERSION": "10l" - }, - "forwardPorts": [8006], - "portsAttributes": { - "8006": { - "label": "Web", - "onAutoForward": "notify" - } - }, - "otherPortsAttributes": { - "onAutoForward": "ignore" - }, - "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", - "initializeCommand": "docker system prune --all --force" -} diff --git a/.devcontainer/060 - Windows 8.1 Enterprise/devcontainer.json b/.devcontainer/060 - Windows 8.1 Enterprise/devcontainer.json deleted file mode 100644 index e58f7ad..0000000 --- a/.devcontainer/060 - Windows 8.1 Enterprise/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Windows 8.1 Enterprise", - "service": "windows", - "containerEnv": { - "VERSION": "8e" - }, - "forwardPorts": [8006], - "portsAttributes": { - "8006": { - "label": "Web", - "onAutoForward": "notify" - } - }, - "otherPortsAttributes": { - "onAutoForward": "ignore" - }, - "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", - "initializeCommand": "docker system prune --all --force" -} diff --git a/.devcontainer/070 - Windows 7 Ultimate/devcontainer.json b/.devcontainer/070 - Windows 7 Ultimate/devcontainer.json deleted file mode 100644 index 85878f0..0000000 --- a/.devcontainer/070 - Windows 7 Ultimate/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Windows 7 Ultimate", - "service": "windows", - "containerEnv": { - "VERSION": "7u" - }, - "forwardPorts": [8006], - "portsAttributes": { - "8006": { - "label": "Web", - "onAutoForward": "notify" - } - }, - "otherPortsAttributes": { - "onAutoForward": "ignore" - }, - "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", - "initializeCommand": "docker system prune --all --force" -} diff --git a/.devcontainer/080 - Windows Vista Ultimate/devcontainer.json b/.devcontainer/080 - Windows Vista Ultimate/devcontainer.json deleted file mode 100644 index b99c942..0000000 --- a/.devcontainer/080 - Windows Vista Ultimate/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Windows Vista Ultimate", - "service": "windows", - "containerEnv": { - "VERSION": "vu" - }, - "forwardPorts": [8006], - "portsAttributes": { - "8006": { - "label": "Web", - "onAutoForward": "notify" - } - }, - "otherPortsAttributes": { - "onAutoForward": "ignore" - }, - "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", - "initializeCommand": "docker system prune --all --force" -} diff --git a/.devcontainer/090 - Windows XP Professional/devcontainer.json b/.devcontainer/090 - Windows XP Professional/devcontainer.json deleted file mode 100644 index a2c51c4..0000000 --- a/.devcontainer/090 - Windows XP Professional/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Windows XP Professional", - "service": "windows", - "containerEnv": { - "VERSION": "xp" - }, - "forwardPorts": [8006], - "portsAttributes": { - "8006": { - "label": "Web", - "onAutoForward": "notify" - } - }, - "otherPortsAttributes": { - "onAutoForward": "ignore" - }, - "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", - "initializeCommand": "docker system prune --all --force" -} diff --git a/.devcontainer/100 - Windows 2000 Professional/devcontainer.json b/.devcontainer/100 - Windows 2000 Professional/devcontainer.json deleted file mode 100644 index e5fab13..0000000 --- a/.devcontainer/100 - Windows 2000 Professional/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Windows 2000 Professional", - "service": "windows", - "containerEnv": { - "VERSION": "2k" - }, - "forwardPorts": [8006], - "portsAttributes": { - "8006": { - "label": "Web", - "onAutoForward": "notify" - } - }, - "otherPortsAttributes": { - "onAutoForward": "ignore" - }, - "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", - "initializeCommand": "docker system prune --all --force" -} diff --git a/.devcontainer/110 - Windows Server 2025/devcontainer.json b/.devcontainer/110 - Windows Server 2025/devcontainer.json deleted file mode 100644 index 96089cc..0000000 --- a/.devcontainer/110 - Windows Server 2025/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Windows Server 2025", - "service": "windows", - "containerEnv": { - "VERSION": "2025" - }, - "forwardPorts": [8006], - "portsAttributes": { - "8006": { - "label": "Web", - "onAutoForward": "notify" - } - }, - "otherPortsAttributes": { - "onAutoForward": "ignore" - }, - "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", - "initializeCommand": "docker system prune --all --force" -} diff --git a/.devcontainer/120 - Windows Server 2022/devcontainer.json b/.devcontainer/120 - Windows Server 2022/devcontainer.json deleted file mode 100644 index 9897a67..0000000 --- a/.devcontainer/120 - Windows Server 2022/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Windows Server 2022", - "service": "windows", - "containerEnv": { - "VERSION": "2022" - }, - "forwardPorts": [8006], - "portsAttributes": { - "8006": { - "label": "Web", - "onAutoForward": "notify" - } - }, - "otherPortsAttributes": { - "onAutoForward": "ignore" - }, - "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", - "initializeCommand": "docker system prune --all --force" -} diff --git a/.devcontainer/130 - Windows Server 2019/devcontainer.json b/.devcontainer/130 - Windows Server 2019/devcontainer.json deleted file mode 100644 index 9903599..0000000 --- a/.devcontainer/130 - Windows Server 2019/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Windows Server 2019", - "service": "windows", - "containerEnv": { - "VERSION": "2019" - }, - "forwardPorts": [8006], - "portsAttributes": { - "8006": { - "label": "Web", - "onAutoForward": "notify" - } - }, - "otherPortsAttributes": { - "onAutoForward": "ignore" - }, - "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", - "initializeCommand": "docker system prune --all --force" -} diff --git a/.devcontainer/140 - Windows Server 2016/devcontainer.json b/.devcontainer/140 - Windows Server 2016/devcontainer.json deleted file mode 100644 index 614b171..0000000 --- a/.devcontainer/140 - Windows Server 2016/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Windows Server 2016", - "service": "windows", - "containerEnv": { - "VERSION": "2016" - }, - "forwardPorts": [8006], - "portsAttributes": { - "8006": { - "label": "Web", - "onAutoForward": "notify" - } - }, - "otherPortsAttributes": { - "onAutoForward": "ignore" - }, - "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", - "initializeCommand": "docker system prune --all --force" -} diff --git a/.devcontainer/150 - Windows Server 2012 R2/devcontainer.json b/.devcontainer/150 - Windows Server 2012 R2/devcontainer.json deleted file mode 100644 index 158036c..0000000 --- a/.devcontainer/150 - Windows Server 2012 R2/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Windows Server 2012 R2", - "service": "windows", - "containerEnv": { - "VERSION": "2012" - }, - "forwardPorts": [8006], - "portsAttributes": { - "8006": { - "label": "Web", - "onAutoForward": "notify" - } - }, - "otherPortsAttributes": { - "onAutoForward": "ignore" - }, - "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", - "initializeCommand": "docker system prune --all --force" -} diff --git a/.devcontainer/160 - Windows Server 2008 R2/devcontainer.json b/.devcontainer/160 - Windows Server 2008 R2/devcontainer.json deleted file mode 100644 index 5dc1af6..0000000 --- a/.devcontainer/160 - Windows Server 2008 R2/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Windows Server 2008 R2", - "service": "windows", - "containerEnv": { - "VERSION": "2008" - }, - "forwardPorts": [8006], - "portsAttributes": { - "8006": { - "label": "Web", - "onAutoForward": "notify" - } - }, - "otherPortsAttributes": { - "onAutoForward": "ignore" - }, - "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", - "initializeCommand": "docker system prune --all --force" -} diff --git a/.devcontainer/170 - Windows Server 2003/devcontainer.json b/.devcontainer/170 - Windows Server 2003/devcontainer.json deleted file mode 100644 index c47effb..0000000 --- a/.devcontainer/170 - Windows Server 2003/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Windows Server 2003", - "service": "windows", - "containerEnv": { - "VERSION": "2003" - }, - "forwardPorts": [8006], - "portsAttributes": { - "8006": { - "label": "Web", - "onAutoForward": "notify" - } - }, - "otherPortsAttributes": { - "onAutoForward": "ignore" - }, - "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", - "initializeCommand": "docker system prune --all --force" -} diff --git a/.devcontainer/180 - Tiny11/devcontainer.json b/.devcontainer/180 - Tiny11/devcontainer.json deleted file mode 100644 index 225a746..0000000 --- a/.devcontainer/180 - Tiny11/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Tiny11", - "service": "windows", - "containerEnv": { - "VERSION": "tiny11" - }, - "forwardPorts": [8006], - "portsAttributes": { - "8006": { - "label": "Web", - "onAutoForward": "notify" - } - }, - "otherPortsAttributes": { - "onAutoForward": "ignore" - }, - "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", - "initializeCommand": "docker system prune --all --force" -} diff --git a/.devcontainer/190 - Tiny11 Core/devcontainer.json b/.devcontainer/190 - Tiny11 Core/devcontainer.json deleted file mode 100644 index 78da098..0000000 --- a/.devcontainer/190 - Tiny11 Core/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Tiny11 Core", - "service": "windows", - "containerEnv": { - "VERSION": "core11" - }, - "forwardPorts": [8006], - "portsAttributes": { - "8006": { - "label": "Web", - "onAutoForward": "notify" - } - }, - "otherPortsAttributes": { - "onAutoForward": "ignore" - }, - "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", - "initializeCommand": "docker system prune --all --force" -} diff --git a/.devcontainer/200 - Tiny11 Nano/devcontainer.json b/.devcontainer/200 - Tiny11 Nano/devcontainer.json deleted file mode 100644 index c7fdca9..0000000 --- a/.devcontainer/200 - Tiny11 Nano/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Tiny11 Nano", - "service": "windows", - "containerEnv": { - "VERSION": "nano11" - }, - "forwardPorts": [8006], - "portsAttributes": { - "8006": { - "label": "Web", - "onAutoForward": "notify" - } - }, - "otherPortsAttributes": { - "onAutoForward": "ignore" - }, - "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", - "initializeCommand": "docker system prune --all --force" -} diff --git a/.devcontainer/210 - Tiny10/devcontainer.json b/.devcontainer/210 - Tiny10/devcontainer.json deleted file mode 100644 index 3df1b88..0000000 --- a/.devcontainer/210 - Tiny10/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Tiny10", - "service": "windows", - "containerEnv": { - "VERSION": "tiny10" - }, - "forwardPorts": [8006], - "portsAttributes": { - "8006": { - "label": "Web", - "onAutoForward": "notify" - } - }, - "otherPortsAttributes": { - "onAutoForward": "ignore" - }, - "dockerComposeFile": "../codespaces.yml", - "workspaceFolder": "/workspaces/windows", - "initializeCommand": "docker system prune --all --force" -} diff --git a/.devcontainer/codespaces.yml b/.devcontainer/codespaces.yml deleted file mode 100644 index 85e3f64..0000000 --- a/.devcontainer/codespaces.yml +++ /dev/null @@ -1,21 +0,0 @@ -services: - windows: - container_name: windows - image: ghcr.io/dockur/windows - environment: - RAM_SIZE: "half" - DISK_SIZE: "max" - CPU_CORES: "max" - devices: - - /dev/kvm - - /dev/net/tun - cap_add: - - NET_ADMIN - ports: - - 8006:8006 - - 3389:3389/tcp - - 3389:3389/udp - volumes: - - ./windows:/storage - restart: on-failure - stop_grace_period: 2m diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json deleted file mode 100644 index d7c98a8..0000000 --- a/.devcontainer/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Windows 11 Pro", - "service": "windows", - "containerEnv": { - "VERSION": "11" - }, - "forwardPorts": [8006], - "portsAttributes": { - "8006": { - "label": "Web", - "onAutoForward": "notify" - } - }, - "otherPortsAttributes": { - "onAutoForward": "ignore" - }, - "dockerComposeFile": "codespaces.yml", - "workspaceFolder": "/workspaces/windows", - "initializeCommand": "docker system prune --all --force" -} diff --git a/.dockerignore b/.dockerignore index 154d44a..258778b 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,5 +1,4 @@ .dockerignore -.devcontainer .git .github .gitignore diff --git a/.github/winboat.png b/.github/winboat.png deleted file mode 100644 index 2b5f6db..0000000 Binary files a/.github/winboat.png and /dev/null differ diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 9e9d278..788a2b0 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -7,29 +7,19 @@ jobs: name: shellcheck runs-on: ubuntu-latest steps: - - - name: Checkout - uses: actions/checkout@v5 - - - name: Run ShellCheck + - uses: actions/checkout@v5 + - name: Run ShellCheck uses: ludeeus/action-shellcheck@master env: SHELLCHECK_OPTS: -x --source-path=src -e SC1091 -e SC2001 -e SC2002 -e SC2034 -e SC2064 -e SC2153 -e SC2317 -e SC2028 - - - name: Lint Dockerfile + - name: Validate XML + uses: action-pack/valid-xml@v1 + with: + path: "assets" + file-endings: ".xml" + - name: Lint Dockerfile uses: hadolint/hadolint-action@v3.3.0 with: dockerfile: Dockerfile ignore: DL3006,DL3008 failure-threshold: warning - - - name: Validate XML - uses: action-pack/valid-xml@v1 - with: - path: "assets" - file-endings: ".xml" - - - name: Validate JSON and YML files - uses: GrantBirki/json-yaml-validate@v4 - with: - yaml_exclude_regex: ".*\\kubernetes\\.yml$" diff --git a/.github/workflows/review.yml b/.github/workflows/review.yml deleted file mode 100644 index 51f8503..0000000 --- a/.github/workflows/review.yml +++ /dev/null @@ -1,66 +0,0 @@ -on: - pull_request: - -name: "Review" - -permissions: - contents: read - pull-requests: write - checks: write - -jobs: - review: - name: review - runs-on: ubuntu-latest - steps: - - - name: Checkout - uses: actions/checkout@v5 - - - name: Spelling - uses: reviewdog/action-misspell@v1 - with: - locale: "US" - level: warning - pattern: | - *.md - *.sh - reporter: github-pr-review - github_token: ${{ secrets.REPO_ACCESS_TOKEN }} - - - name: Hadolint - uses: reviewdog/action-hadolint@v1 - with: - level: warning - reporter: github-pr-review - hadolint_ignore: DL3006 DL3008 - github_token: ${{ secrets.REPO_ACCESS_TOKEN }} - - - name: YamlLint - uses: reviewdog/action-yamllint@v1 - with: - level: warning - reporter: github-pr-review - github_token: ${{ secrets.REPO_ACCESS_TOKEN }} - - - name: ActionLint - uses: reviewdog/action-actionlint@v1 - with: - level: warning - reporter: github-pr-review - github_token: ${{ secrets.REPO_ACCESS_TOKEN }} - - - name: Shellformat - uses: reviewdog/action-shfmt@v1 - with: - level: warning - shfmt_flags: "-i 2 -ci -bn" - github_token: ${{ secrets.REPO_ACCESS_TOKEN }} - - - name: Shellcheck - uses: reviewdog/action-shellcheck@v1 - with: - level: warning - reporter: github-pr-review - shellcheck_flags: -x -e SC1091 -e SC2001 -e SC2002 -e SC2034 -e SC2064 -e SC2153 -e SC2317 -e SC2028 - github_token: ${{ secrets.REPO_ACCESS_TOKEN }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c275f1a..4903636 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,6 +1,12 @@ on: workflow_dispatch: pull_request: + paths: + - '**/*.sh' + - '**/*.xml' + - '.github/workflows/test.yml' + - '.github/workflows/check.yml' + - 'Dockerfile' name: "Test" permissions: {} diff --git a/Dockerfile b/Dockerfile index bf6dab2..f28ad59 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ ARG VERSION_ARG="latest" FROM scratch AS build-amd64 -COPY --from=qemux/qemu:7.27 / / +COPY --from=qemux/qemu:7.19 / / ARG TARGETARCH ARG DEBCONF_NOWARNINGS="yes" @@ -19,7 +19,7 @@ RUN set -eu && \ cabextract \ libxml2-utils \ libarchive-tools && \ - wget "https://github.com/gershnik/wsdd-native/releases/download/v1.22/wsddn_1.22_${TARGETARCH}.deb" -O /tmp/wsddn.deb -q && \ + wget "https://github.com/gershnik/wsdd-native/releases/download/v1.21/wsddn_1.21_${TARGETARCH}.deb" -O /tmp/wsddn.deb -q && \ dpkg -i /tmp/wsddn.deb && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* @@ -27,7 +27,7 @@ RUN set -eu && \ COPY --chmod=755 ./src /run/ COPY --chmod=755 ./assets /run/assets -ADD --chmod=664 https://github.com/qemus/virtiso-whql/releases/download/v1.9.48-0/virtio-win-1.9.48.tar.xz /var/drivers.txz +ADD --chmod=664 https://github.com/qemus/virtiso-whql/releases/download/v1.9.47-0/virtio-win-1.9.47.tar.xz /var/drivers.txz FROM dockurr/windows-arm:${VERSION_ARG} AS build-arm64 FROM build-${TARGETARCH} diff --git a/assets/win10x64-enterprise-eval.xml b/assets/win10x64-enterprise-eval.xml index ee75f27..05a0437 100644 --- a/assets/win10x64-enterprise-eval.xml +++ b/assets/win10x64-enterprise-eval.xml @@ -376,60 +376,50 @@ 13 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 14 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 15 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f Remove Search from the Taskbar - 16 + 15 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f Remove Task View from the Taskbar - 17 + 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f Remove Widgets from the Taskbar - 18 + 17 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f Remove Chat from the Taskbar - 19 + 18 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 20 + 19 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 21 - reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f - Disable Network Discovery popup - - - 22 + 20 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 23 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 21 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 24 + 22 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win10x64-enterprise.xml b/assets/win10x64-enterprise.xml index 5e5eb8c..742a6d9 100644 --- a/assets/win10x64-enterprise.xml +++ b/assets/win10x64-enterprise.xml @@ -379,60 +379,50 @@ 13 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 14 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 15 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f Remove Search from the Taskbar - 16 + 15 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f Remove Task View from the Taskbar - 17 + 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f Remove Widgets from the Taskbar - 18 + 17 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f Remove Chat from the Taskbar - 19 + 18 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 20 + 19 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 21 - reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f - Disable Network Discovery popup - - - 22 + 20 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 23 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 21 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 24 + 22 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win10x64-iot.xml b/assets/win10x64-iot.xml index 00a049e..05ffaf5 100644 --- a/assets/win10x64-iot.xml +++ b/assets/win10x64-iot.xml @@ -385,60 +385,50 @@ 13 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 14 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 15 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f Remove Search from the Taskbar - 16 + 15 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f Remove Task View from the Taskbar - 17 + 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f Remove Widgets from the Taskbar - 18 + 17 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f Remove Chat from the Taskbar - 19 + 18 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 20 + 19 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 21 - reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f - Disable Network Discovery popup - - - 22 + 20 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 23 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 21 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 24 + 22 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win10x64-ltsc.xml b/assets/win10x64-ltsc.xml index e77dd6a..8700e26 100644 --- a/assets/win10x64-ltsc.xml +++ b/assets/win10x64-ltsc.xml @@ -382,60 +382,50 @@ 13 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 14 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 15 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f Remove Search from the Taskbar - 16 + 15 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f Remove Task View from the Taskbar - 17 + 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f Remove Widgets from the Taskbar - 18 + 17 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f Remove Chat from the Taskbar - 19 + 18 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 20 + 19 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 21 - reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f - Disable Network Discovery popup - - - 22 + 20 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 23 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 21 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 24 + 22 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win10x64.xml b/assets/win10x64.xml index 7c21359..d863512 100644 --- a/assets/win10x64.xml +++ b/assets/win10x64.xml @@ -379,60 +379,50 @@ 13 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 14 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 15 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f Remove Search from the Taskbar - 16 + 15 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f Remove Task View from the Taskbar - 17 + 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f Remove Widgets from the Taskbar - 18 + 17 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f Remove Chat from the Taskbar - 19 + 18 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 20 + 19 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 21 - reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f - Disable Network Discovery popup - - - 22 + 20 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 23 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 21 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 24 + 22 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win11x64-enterprise-eval.xml b/assets/win11x64-enterprise-eval.xml index 39c3f02..ea321ad 100644 --- a/assets/win11x64-enterprise-eval.xml +++ b/assets/win11x64-enterprise-eval.xml @@ -408,61 +408,56 @@ 15 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f Remove Task View from the Taskbar - 17 + 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f Remove Widgets from the Taskbar - 18 + 17 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f Remove Chat from the Taskbar - 19 + 18 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 20 + 19 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 21 + 20 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 22 + 21 reg.exe add "HKCU\Control Panel\UnsupportedHardwareNotificationCache" /v SV1 /d 0 /t REG_DWORD /f Disable unsupported hardware notifications - 23 + 22 reg.exe add "HKCU\Control Panel\UnsupportedHardwareNotificationCache" /v SV2 /d 0 /t REG_DWORD /f Disable unsupported hardware notifications - 24 + 23 cmd /C rd /q C:\Windows.old Remove empty Windows.old folder - 25 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 24 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 26 + 25 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win11x64-enterprise.xml b/assets/win11x64-enterprise.xml index bafed49..e76caad 100644 --- a/assets/win11x64-enterprise.xml +++ b/assets/win11x64-enterprise.xml @@ -411,61 +411,56 @@ 15 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f Remove Task View from the Taskbar - 17 + 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f Remove Widgets from the Taskbar - 18 + 17 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f Remove Chat from the Taskbar - 19 + 18 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 20 + 19 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 21 + 20 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 22 + 21 reg.exe add "HKCU\Control Panel\UnsupportedHardwareNotificationCache" /v SV1 /d 0 /t REG_DWORD /f Disable unsupported hardware notifications - 23 + 22 reg.exe add "HKCU\Control Panel\UnsupportedHardwareNotificationCache" /v SV2 /d 0 /t REG_DWORD /f Disable unsupported hardware notifications - 24 + 23 cmd /C rd /q C:\Windows.old Remove empty Windows.old folder - 25 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 24 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 26 + 25 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win11x64-iot.xml b/assets/win11x64-iot.xml index d6825d0..ae4282d 100644 --- a/assets/win11x64-iot.xml +++ b/assets/win11x64-iot.xml @@ -411,61 +411,56 @@ 15 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f Remove Task View from the Taskbar - 17 + 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f Remove Widgets from the Taskbar - 18 + 17 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f Remove Chat from the Taskbar - 19 + 18 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 20 + 19 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 21 + 20 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 22 + 21 reg.exe add "HKCU\Control Panel\UnsupportedHardwareNotificationCache" /v SV1 /d 0 /t REG_DWORD /f Disable unsupported hardware notifications - 23 + 22 reg.exe add "HKCU\Control Panel\UnsupportedHardwareNotificationCache" /v SV2 /d 0 /t REG_DWORD /f Disable unsupported hardware notifications - 24 + 23 cmd /C rd /q C:\Windows.old Remove empty Windows.old folder - 25 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 24 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 26 + 25 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win11x64-ltsc.xml b/assets/win11x64-ltsc.xml index a9a6ce7..bc27ec0 100644 --- a/assets/win11x64-ltsc.xml +++ b/assets/win11x64-ltsc.xml @@ -411,61 +411,56 @@ 15 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f Remove Task View from the Taskbar - 17 + 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f Remove Widgets from the Taskbar - 18 + 17 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f Remove Chat from the Taskbar - 19 + 18 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 20 + 19 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 21 + 20 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 22 + 21 reg.exe add "HKCU\Control Panel\UnsupportedHardwareNotificationCache" /v SV1 /d 0 /t REG_DWORD /f Disable unsupported hardware notifications - 23 + 22 reg.exe add "HKCU\Control Panel\UnsupportedHardwareNotificationCache" /v SV2 /d 0 /t REG_DWORD /f Disable unsupported hardware notifications - 24 + 23 cmd /C rd /q C:\Windows.old Remove empty Windows.old folder - 25 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 24 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 26 + 25 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win11x64.xml b/assets/win11x64.xml index 8082c7c..53e73bb 100644 --- a/assets/win11x64.xml +++ b/assets/win11x64.xml @@ -411,61 +411,56 @@ 15 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f Remove Task View from the Taskbar - 17 + 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f Remove Widgets from the Taskbar - 18 + 17 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f Remove Chat from the Taskbar - 19 + 18 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 20 + 19 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 21 + 20 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 22 + 21 reg.exe add "HKCU\Control Panel\UnsupportedHardwareNotificationCache" /v SV1 /d 0 /t REG_DWORD /f Disable unsupported hardware notifications - 23 + 22 reg.exe add "HKCU\Control Panel\UnsupportedHardwareNotificationCache" /v SV2 /d 0 /t REG_DWORD /f Disable unsupported hardware notifications - 24 + 23 cmd /C rd /q C:\Windows.old Remove empty Windows.old folder - 25 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 24 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 26 + 25 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win2008r2-eval.xml b/assets/win2008r2-eval.xml index 09a23ce..84467bd 100644 --- a/assets/win2008r2-eval.xml +++ b/assets/win2008r2-eval.xml @@ -266,35 +266,30 @@ 15 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 16 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 17 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 18 + 17 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 19 + 18 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 20 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 19 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 21 + 20 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win2008r2.xml b/assets/win2008r2.xml index 5dee0a5..9ab119f 100644 --- a/assets/win2008r2.xml +++ b/assets/win2008r2.xml @@ -269,35 +269,30 @@ 15 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 16 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 17 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 18 + 17 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 19 + 18 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 20 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 19 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 21 + 20 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win2012r2-eval.xml b/assets/win2012r2-eval.xml index 6351559..84bf8be 100644 --- a/assets/win2012r2-eval.xml +++ b/assets/win2012r2-eval.xml @@ -284,40 +284,30 @@ 12 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 13 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 14 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 15 + 14 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 16 - reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f - Disable Network Discovery popup - - - 17 + 15 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 18 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 16 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 19 + 17 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win2012r2.xml b/assets/win2012r2.xml index bb3dd70..5eef789 100644 --- a/assets/win2012r2.xml +++ b/assets/win2012r2.xml @@ -287,40 +287,30 @@ 12 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 13 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 14 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 15 + 14 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 16 - reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f - Disable Network Discovery popup - - - 17 + 15 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 18 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 16 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 19 + 17 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win2016-eval.xml b/assets/win2016-eval.xml index d788960..45c1d82 100644 --- a/assets/win2016-eval.xml +++ b/assets/win2016-eval.xml @@ -284,60 +284,50 @@ 12 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 13 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 14 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f Remove Search from the Taskbar - 15 + 14 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f Remove Task View from the Taskbar - 16 + 15 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f Remove Widgets from the Taskbar - 17 + 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f Remove Chat from the Taskbar - 18 + 17 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 19 + 18 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 20 - reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f - Disable Network Discovery popup - - - 21 + 19 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 22 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 20 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 23 + 21 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win2016.xml b/assets/win2016.xml index e055e00..019cd1c 100644 --- a/assets/win2016.xml +++ b/assets/win2016.xml @@ -287,60 +287,50 @@ 12 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 13 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 14 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f Remove Search from the Taskbar - 15 + 14 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f Remove Task View from the Taskbar - 16 + 15 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f Remove Widgets from the Taskbar - 17 + 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f Remove Chat from the Taskbar - 18 + 17 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 19 + 18 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 20 - reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f - Disable Network Discovery popup - - - 21 + 19 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 22 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 20 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 23 + 21 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win2019-eval.xml b/assets/win2019-eval.xml index 332d974..e6db2d9 100644 --- a/assets/win2019-eval.xml +++ b/assets/win2019-eval.xml @@ -288,60 +288,50 @@ 12 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 13 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 14 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f Remove Search from the Taskbar - 15 + 14 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f Remove Task View from the Taskbar - 16 + 15 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f Remove Widgets from the Taskbar - 17 + 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f Remove Chat from the Taskbar - 18 + 17 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 19 + 18 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 20 - reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f - Disable Network Discovery popup - - - 21 + 19 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 22 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 20 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 23 + 21 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win2019-hv.xml b/assets/win2019-hv.xml index 2fb6e32..bb87975 100644 --- a/assets/win2019-hv.xml +++ b/assets/win2019-hv.xml @@ -293,60 +293,50 @@ 12 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 13 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 14 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f Remove Search from the Taskbar - 15 + 14 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f Remove Task View from the Taskbar - 16 + 15 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f Remove Widgets from the Taskbar - 17 + 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f Remove Chat from the Taskbar - 18 + 17 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 19 + 18 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 20 - reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f - Disable Network Discovery popup - - - 21 + 19 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 22 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 20 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 23 + 21 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win2019.xml b/assets/win2019.xml index b5d8235..5051f9f 100644 --- a/assets/win2019.xml +++ b/assets/win2019.xml @@ -291,60 +291,50 @@ 12 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 13 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 14 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f Remove Search from the Taskbar - 15 + 14 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f Remove Task View from the Taskbar - 16 + 15 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f Remove Widgets from the Taskbar - 17 + 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f Remove Chat from the Taskbar - 18 + 17 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 19 + 18 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 20 - reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f - Disable Network Discovery popup - - - 21 + 19 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 22 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 20 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 23 + 21 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win2022-eval.xml b/assets/win2022-eval.xml index 5748cb4..a4ed208 100644 --- a/assets/win2022-eval.xml +++ b/assets/win2022-eval.xml @@ -288,60 +288,50 @@ 12 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 13 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 14 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f Remove Search from the Taskbar - 15 + 14 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f Remove Task View from the Taskbar - 16 + 15 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f Remove Widgets from the Taskbar - 17 + 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f Remove Chat from the Taskbar - 18 + 17 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 19 + 18 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 20 - reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f - Disable Network Discovery popup - - - 21 + 19 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 22 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 20 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 23 + 21 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win2022.xml b/assets/win2022.xml index eac9414..71c07c9 100644 --- a/assets/win2022.xml +++ b/assets/win2022.xml @@ -291,60 +291,50 @@ 12 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 13 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 14 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f Remove Search from the Taskbar - 15 + 14 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f Remove Task View from the Taskbar - 16 + 15 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f Remove Widgets from the Taskbar - 17 + 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f Remove Chat from the Taskbar - 18 + 17 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 19 + 18 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 20 - reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f - Disable Network Discovery popup - - - 21 + 19 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 22 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 20 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 23 + 21 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win2025-eval.xml b/assets/win2025-eval.xml index 5b92f00..ff7f7fa 100644 --- a/assets/win2025-eval.xml +++ b/assets/win2025-eval.xml @@ -307,51 +307,46 @@ 15 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f Remove Task View from the Taskbar - 17 + 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f Remove Widgets from the Taskbar - 18 + 17 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f Remove Chat from the Taskbar - 19 + 18 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 20 + 19 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 21 + 20 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 22 + 21 cmd /C rd /q C:\Windows.old Remove empty Windows.old folder - 23 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 22 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 24 + 23 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win2025.xml b/assets/win2025.xml index 2796db6..c67965f 100644 --- a/assets/win2025.xml +++ b/assets/win2025.xml @@ -310,51 +310,46 @@ 15 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f Remove Task View from the Taskbar - 17 + 16 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f Remove Widgets from the Taskbar - 18 + 17 reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f Remove Chat from the Taskbar - 19 + 18 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 20 + 19 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 21 + 20 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 22 + 21 cmd /C rd /q C:\Windows.old Remove empty Windows.old folder - 23 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 22 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 24 + 23 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win7x64-enterprise-eval.xml b/assets/win7x64-enterprise-eval.xml index c3cc15b..85b69e4 100644 --- a/assets/win7x64-enterprise-eval.xml +++ b/assets/win7x64-enterprise-eval.xml @@ -269,9 +269,9 @@ 17 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder - + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file + 18 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" diff --git a/assets/win7x64-enterprise.xml b/assets/win7x64-enterprise.xml index b362a9f..84c873e 100644 --- a/assets/win7x64-enterprise.xml +++ b/assets/win7x64-enterprise.xml @@ -273,9 +273,9 @@ 17 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder - + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file + 18 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" diff --git a/assets/win7x64-ultimate.xml b/assets/win7x64-ultimate.xml index 2ee085a..f17fb0e 100644 --- a/assets/win7x64-ultimate.xml +++ b/assets/win7x64-ultimate.xml @@ -273,9 +273,9 @@ 17 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder - + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file + 18 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" diff --git a/assets/win7x64.xml b/assets/win7x64.xml index 3769dfd..be1f3a8 100644 --- a/assets/win7x64.xml +++ b/assets/win7x64.xml @@ -273,9 +273,9 @@ 17 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder - + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file + 18 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" diff --git a/assets/win7x86-enterprise.xml b/assets/win7x86-enterprise.xml index 7ac8ef0..e96e5a7 100644 --- a/assets/win7x86-enterprise.xml +++ b/assets/win7x86-enterprise.xml @@ -273,9 +273,9 @@ 17 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder - + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file + 18 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" diff --git a/assets/win7x86-ultimate.xml b/assets/win7x86-ultimate.xml index 419a508..ce81d12 100644 --- a/assets/win7x86-ultimate.xml +++ b/assets/win7x86-ultimate.xml @@ -273,9 +273,9 @@ 17 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder - + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file + 18 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" diff --git a/assets/win7x86.xml b/assets/win7x86.xml index bae5a8f..314c2ee 100644 --- a/assets/win7x86.xml +++ b/assets/win7x86.xml @@ -273,9 +273,9 @@ 17 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder - + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file + 18 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" diff --git a/assets/win81x64-enterprise-eval.xml b/assets/win81x64-enterprise-eval.xml index 745fd9d..f3a61e9 100644 --- a/assets/win81x64-enterprise-eval.xml +++ b/assets/win81x64-enterprise-eval.xml @@ -269,40 +269,30 @@ 12 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 13 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 14 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 15 + 14 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 16 - reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f - Disable Network Discovery popup - - - 17 + 15 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 18 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 16 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 19 + 17 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win81x64-enterprise.xml b/assets/win81x64-enterprise.xml index a073c38..bf927cc 100644 --- a/assets/win81x64-enterprise.xml +++ b/assets/win81x64-enterprise.xml @@ -272,40 +272,30 @@ 12 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 13 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 14 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 15 + 14 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 16 - reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f - Disable Network Discovery popup - - - 17 + 15 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 18 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 16 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 19 + 17 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/win81x64.xml b/assets/win81x64.xml index 6b45785..290e923 100644 --- a/assets/win81x64.xml +++ b/assets/win81x64.xml @@ -279,40 +279,30 @@ 12 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 13 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 14 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f Turn off Windows Update auto download - 15 + 14 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 16 - reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f - Disable Network Discovery popup - - - 17 + 15 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 18 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 16 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 19 + 17 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/winvistax64-enterprise.xml b/assets/winvistax64-enterprise.xml index a3dac19..1e3709c 100644 --- a/assets/winvistax64-enterprise.xml +++ b/assets/winvistax64-enterprise.xml @@ -233,30 +233,25 @@ 19 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 20 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 21 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 22 + 21 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 23 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 22 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 24 + 23 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/winvistax64-ultimate.xml b/assets/winvistax64-ultimate.xml index eb12e60..cb1d1c1 100644 --- a/assets/winvistax64-ultimate.xml +++ b/assets/winvistax64-ultimate.xml @@ -233,30 +233,25 @@ 19 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 20 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 21 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 22 + 21 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 23 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 22 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 24 + 23 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/winvistax64.xml b/assets/winvistax64.xml index ad2ac70..729e568 100644 --- a/assets/winvistax64.xml +++ b/assets/winvistax64.xml @@ -233,30 +233,25 @@ 19 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 20 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 21 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 22 + 21 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 23 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 22 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 24 + 23 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/winvistax86-enterprise.xml b/assets/winvistax86-enterprise.xml index 5092331..66efdf3 100644 --- a/assets/winvistax86-enterprise.xml +++ b/assets/winvistax86-enterprise.xml @@ -233,30 +233,25 @@ 19 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 20 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 21 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 22 + 21 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 23 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 22 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 24 + 23 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/winvistax86-ultimate.xml b/assets/winvistax86-ultimate.xml index 97ad23e..5231d50 100644 --- a/assets/winvistax86-ultimate.xml +++ b/assets/winvistax86-ultimate.xml @@ -233,30 +233,25 @@ 19 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 20 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 21 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 22 + 21 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 23 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 22 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 24 + 23 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/assets/winvistax86.xml b/assets/winvistax86.xml index ade1942..ef0ed47 100644 --- a/assets/winvistax86.xml +++ b/assets/winvistax86.xml @@ -233,30 +233,25 @@ 19 reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f - Enable RemoteApp to launch unlisted programs + Enable RemoteAPP to launch unlisted programs 20 - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f - Disable RemoteApp allowlist - - - 21 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes Enable Network Discovery - 22 + 21 netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes Enable File Sharing - 23 - cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data - Create desktop shortcut to shared folder + 22 + cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts + Add entry in hosts file - 24 + 23 cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat" Execute custom script from the OEM folder if exists diff --git a/readme.md b/readme.md index adbb6bf..ede4afa 100644 --- a/readme.md +++ b/readme.md @@ -53,7 +53,7 @@ services: ##### Via Docker CLI: ```bash -docker run -it --rm --name windows -e "VERSION=11" -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN -v "${PWD:-.}/windows:/storage" --stop-timeout 120 docker.io/dockurr/windows +docker run -it --rm --name windows -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN -v "${PWD:-.}/windows:/storage" --stop-timeout 120 dockurr/windows ``` ##### Via Kubernetes: @@ -66,10 +66,6 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/dockur/windows) -##### Via a graphical installer: - -[![Download WinBoat](https://github.com/dockur/windows/raw/master/.github/winboat.png)](https://winboat.app) - ## FAQ 💬 ### How do I use it? @@ -147,20 +143,23 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas ### How do I share files with the host? - After installation there will be a folder called `Shared` on your desktop, which can be used to exchange files with the host machine. + Open 'File Explorer' and click on the 'Network' section, you will see a computer called `host.lan`. - To select a folder on the host for this purpose, include the following bind mount in your compose file: + Double-click it and it will show a folder called `Data`, which can be bound to any folder on your host via the compose file: ```yaml volumes: - - ./example:/shared + - ./example:/data ``` - Replace the example path `./example` with your desired shared folder, which then will become visible as `Shared`. + The example folder `./example` will be available as ` \\host.lan\Data`. + +> [!TIP] +> You can map this path to a drive letter in Windows, for easier access. ### How do I change the amount of CPU or RAM? - By default, Windows will be allowed to use 2 CPU cores and 4 GB of RAM. + By default, the container will be allowed to use a maximum of 2 CPU cores and 4 GB of RAM. If you want to adjust this, you can specify the desired amount using the following environment variables: @@ -172,9 +171,9 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas ### How do I configure the username and password? - By default, a user called `Docker` is created and its password is `admin`. + By default, a user called `Docker` is created during installation and its password is `admin`. - If you want to use different credentials during installation, you can configure them in your compose file: + If you want to use different credentials, you can configure them in your compose file (only before installation): ```yaml environment: @@ -186,7 +185,7 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas By default, the English version of Windows will be downloaded. - But you can add the `LANGUAGE` environment variable to your compose file, in order to specify an alternative language to be downloaded: + But before installation you can add the `LANGUAGE` environment variable to your compose file, in order to specify an alternative language: ```yaml environment: @@ -197,7 +196,7 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas ### How do I select the keyboard layout? - If you want to use a keyboard layout or locale that is not the default for your selected language, you can add `KEYBOARD` and `REGION` variables like this: + If you want to use a keyboard layout or locale that is not the default for your selected language, you can add `KEYBOARD` and `REGION` variables like this (before installation): ```yaml environment: @@ -205,6 +204,15 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas KEYBOARD: "en-US" ``` +### How do I select the edition? + + Windows Server offers a minimalistic Core edition without a GUI. To select those non-standard editions, you can add a `EDITION` variable like this (before installation): + + ```yaml + environment: + EDITION: "core" + ``` + ### How do I install a custom image? In order to download an unsupported ISO image, specify its URL in the `VERSION` environment variable: diff --git a/src/define.sh b/src/define.sh index 3db2069..f14e330 100644 --- a/src/define.sh +++ b/src/define.sh @@ -1108,14 +1108,14 @@ getLink4() { url="nano11_25h2/nano11%2025h2.iso" ;; "core11" ) - size=3176654848 - sum="29c055fcfb7b089abd9e007e7abe4bb82c70a03aac9d65e56a38b87ab32d04d2" - url="tiny11_25H2/tiny11core_25H2_Oct25.iso" + size=2159738880 + sum="78f0f44444ff95b97125b43e560a72e0d6ce0a665cf9f5573bf268191e5510c1" + url="tiny-11-core-x-64-beta-1/tiny11%20core%20x64%20beta%201.iso" ;; "tiny11" ) - size=5514559488 - sum="92484f2b7f707e42383294402a9eabbadeaa5ede80ac633390ae7f3537e36275" - url="tiny11_25H2/tiny11_25H2_Oct25.iso" + size=3788177408 + sum="a028800a91addc35d8ae22dce7459b67330f7d69d2f11c70f53c0fdffa5b4280" + url="tiny11-2311/tiny11%202311%20x64.iso" ;; "tiny10" ) size=3839819776 @@ -1123,9 +1123,9 @@ getLink4() { url="tiny-10-23-h2/tiny10%20x64%2023h2.iso" ;; "win11x64" ) - size=7736125440 - sum="d141f6030fed50f75e2b03e1eb2e53646c4b21e5386047cb860af5223f102a32" - url="W11x64_26200.6584/26200.6584.250915-1905.25h2_ge_release_svc_refresh_CLIENT_CONSUMER_x64FRE_en-us.iso" + size=5819484160 + sum="b56b911bf18a2ceaeb3904d87e7c770bdf92d3099599d61ac2497b91bf190b11" + url="windows-11-24h2-x64/Windows%2011%2024H2%20x64.iso" ;; "win11x64-enterprise" | "win11x64-enterprise-eval" ) size=6209064960 @@ -1584,6 +1584,9 @@ prepareInstall() { [ -n "$PASSWORD" ] && password=$(echo "$PASSWORD" | sed 's/"//g') [ -z "$password" ] && password="admin" + local ip="20.20.20.1" + [ -n "${VM_NET_IP:-}" ] && ip="${VM_NET_IP%.*}.1" + find "$target" -maxdepth 1 -type f -iname winnt.sif -exec rm {} \; { echo "[Data]" @@ -1620,7 +1623,7 @@ prepareInstall() { echo "[UserData]" echo " FullName=\"$username\"" echo " ComputerName=\"*\"" - echo " OrgName=\"$APP for $ENGINE\"" + echo " OrgName=\"Windows for Docker\"" echo " $KEY" echo "" echo "[Identification]" @@ -1766,18 +1769,19 @@ prepareInstall() { echo "" echo "Call Domain.MoveHere(LocalAdminADsPath, \"$username\")" echo "" - echo "Set oLink = WshShell.CreateShortcut(WshShell.ExpandEnvironmentStrings(\"%userprofile%\\Desktop\\Shared.lnk\"))" - echo "With oLink" - echo " .TargetPath = \"\\\\host.lan\\Data\"" - echo " .Save" + echo "With (CreateObject(\"Scripting.FileSystemObject\"))" + echo " SysRoot = WshShell.ExpandEnvironmentStrings(\"%SystemRoot%\")" + echo " Set oFile = .OpenTextFile(SysRoot & \"\system32\drivers\etc\hosts\", 8, true)" + echo " oFile.Write(\"$ip host.lan\")" + echo " oFile.Close()" + echo " Set oFile = Nothing" echo "End With" - echo "Set oLink = Nothing" echo "" - } | unix2dos > "$dir/\$OEM\$/install.vbs" + } | unix2dos > "$dir/\$OEM\$/admin.vbs" { echo "[COMMANDS]" echo "\"REGEDIT /s install.reg\"" - echo "\"Wscript install.vbs\"" + echo "\"Wscript admin.vbs\"" echo "" } | unix2dos > "$dir/\$OEM\$/cmdlines.txt" diff --git a/src/entry.sh b/src/entry.sh index 71e939e..17b2147 100644 --- a/src/entry.sh +++ b/src/entry.sh @@ -8,10 +8,8 @@ set -Eeuo pipefail cd /run -. start.sh # Startup hook . utils.sh # Load functions . reset.sh # Initialize system -. server.sh # Start webserver . define.sh # Define versions . mido.sh # Download Windows . install.sh # Run installation @@ -22,9 +20,7 @@ cd /run . boot.sh # Configure boot . proc.sh # Initialize processor . power.sh # Configure shutdown -. memory.sh # Check available memory . config.sh # Configure arguments -. finish.sh # Finish initialization trap - ERR @@ -36,11 +32,9 @@ info "Booting ${APP}${BOOT_DESC} using QEMU v$version..." terminal ( sleep 30; boot ) & -tail -fn +0 "$QEMU_LOG" --pid=$$ 2>/dev/null & +tail -fn +0 "$QEMU_LOG" 2>/dev/null & cat "$QEMU_TERM" 2> /dev/null | tee "$QEMU_PTY" | \ sed -u -e 's/\x1B\[[=0-9;]*[a-z]//gi' \ --e 's/\x1B\x63//g' -e 's/\x1B\[[=?]7l//g' \ --e '/^$/d' -e 's/\x44\x53\x73//g' \ -e 's/failed to load Boot/skipped Boot/g' \ -e 's/0): Not Found/0)/g' & wait $! || : diff --git a/src/install.sh b/src/install.sh index 7be2996..084bbd2 100644 --- a/src/install.sh +++ b/src/install.sh @@ -22,11 +22,7 @@ backup () { fi - if ! makeDir "$root"; then - error "Failed to create directory \"$root\" !" - return 1 - fi - + mkdir -p "$root" local folder="$name" local dir="$root/$folder" @@ -38,11 +34,7 @@ backup () { done rm -rf "$dir" - - if ! makeDir "$dir"; then - error "Failed to create directory \"$dir\" !" - return 1 - fi + mkdir -p "$dir" [ -f "$iso" ] && mv -f "$iso" "$dir/" find "$STORAGE" -maxdepth 1 -type f -iname 'data.*' -not -iname '*.iso' -exec mv -n {} "$dir/" \; @@ -135,8 +127,8 @@ startInstall() { if [[ "${VERSION,,}" == "http"* ]]; then file=$(basename "${VERSION%%\?*}") - printf -v file '%b' "${file//%/\\x}" - file="${file//[!A-Za-z0-9._-]/_}" + : "${file//+/ }"; printf -v file '%b' "${_//%/\\x}" + file=$(echo "$file" | sed -e 's/[^A-Za-z0-9._-]/_/g') else @@ -163,9 +155,7 @@ startInstall() { ! backup "" && error "Backup failed!" fi - if ! makeDir "$TMP"; then - error "Failed to create directory \"$TMP\" !" - fi + mkdir -p "$TMP" if [ -z "$CUSTOM" ]; then @@ -187,20 +177,6 @@ startInstall() { return 0 } -writeFile() { - - local txt="$1" - local path="$2" - - echo "$txt" >"$path" - - if ! setOwner "$path"; then - error "Failed to set the owner for \"$path\" !" - fi - - return 0 -} - finishInstall() { local iso="$1" @@ -211,10 +187,6 @@ finishInstall() { error "Failed to find ISO file: $iso" && return 1 fi - if [[ "$iso" == "$STORAGE/"* ]]; then - ! setOwner "$iso" && error "Failed to set the owner for \"$iso\" !" - fi - if [[ "$aborted" != [Yy1]* ]]; then # Mark ISO as prepared via magic byte byte="16" && [[ "$MANUAL" == [Yy1]* ]] && byte="17" @@ -223,68 +195,56 @@ finishInstall() { fi fi - local file="$STORAGE/windows.ver" - cp -f /run/version "$file" - ! setOwner "$file" && error "Failed to set the owner for \"$file\" !" + cp -f /run/version "$STORAGE/windows.ver" if [[ "$iso" == "$STORAGE/"* ]]; then if [[ "$aborted" != [Yy1]* ]] || [ -z "$CUSTOM" ]; then base=$(basename "$iso") - file="$STORAGE/windows.base" - writeFile "$base" "$file" + echo "$base" > "$STORAGE/windows.base" fi fi if [[ "${PLATFORM,,}" == "x64" ]]; then if [[ "${BOOT_MODE,,}" == "windows_legacy" ]]; then - file="$STORAGE/windows.mode" - writeFile "$BOOT_MODE" "$file" + echo "$BOOT_MODE" > "$STORAGE/windows.mode" if [[ "${MACHINE,,}" != "q35" ]]; then - file="$STORAGE/windows.old" - writeFile "$MACHINE" "$file" + echo "$MACHINE" > "$STORAGE/windows.old" fi else # Enable secure boot + TPM on manual installs as Win11 requires if [[ "$MANUAL" == [Yy1]* || "$aborted" == [Yy1]* ]]; then if [[ "${DETECTED,,}" == "win11"* ]]; then BOOT_MODE="windows_secure" - file="$STORAGE/windows.mode" - writeFile "$BOOT_MODE" "$file" + echo "$BOOT_MODE" > "$STORAGE/windows.mode" fi fi # Enable secure boot on multi-socket systems to workaround freeze if [ -n "$SOCKETS" ] && [[ "$SOCKETS" != "1" ]]; then BOOT_MODE="windows_secure" - file="$STORAGE/windows.mode" - writeFile "$BOOT_MODE" "$file" + echo "$BOOT_MODE" > "$STORAGE/windows.mode" fi fi fi if [ -n "${ARGS:-}" ]; then ARGUMENTS="$ARGS ${ARGUMENTS:-}" - file="$STORAGE/windows.args" - writeFile "$ARGS" "$file" + echo "$ARGS" > "$STORAGE/windows.args" fi if [ -n "${VGA:-}" ] && [[ "${VGA:-}" != "virtio"* ]]; then - file="$STORAGE/windows.vga" - writeFile "$VGA" "$file" + echo "$VGA" > "$STORAGE/windows.vga" fi if [ -n "${USB:-}" ] && [[ "${USB:-}" != "qemu-xhci"* ]]; then - file="$STORAGE/windows.usb" - writeFile "$USB" "$file" + echo "$USB" > "$STORAGE/windows.usb" fi if [ -n "${DISK_TYPE:-}" ] && [[ "${DISK_TYPE:-}" != "scsi" ]]; then - file="$STORAGE/windows.type" - writeFile "$DISK_TYPE" "$file" + echo "$DISK_TYPE" > "$STORAGE/windows.type" fi if [ -n "${ADAPTER:-}" ] && [[ "${ADAPTER:-}" != "virtio-net-pci" ]]; then - file="$STORAGE/windows.net" - writeFile "$ADAPTER" "$file" + echo "$ADAPTER" > "$STORAGE/windows.net" fi rm -rf "$TMP" @@ -378,24 +338,19 @@ extractESD() { local dir="$2" local version="$3" local desc="$4" - local size size_gb sizes space space_gb - local desc total total1 total2 total3 total4 - local imageIndex links links1 links2 links3 links4 + local size size_gb space space_gb desc - local msg="Extracting $desc bootdisk" - info "$msg..." && html "$msg..." + local msg="Extracting $desc bootdisk..." + info "$msg" && html "$msg" if [ "$(stat -c%s "$iso")" -lt 100000000 ]; then error "Invalid ESD file: Size is smaller than 100 MB" && return 1 fi rm -rf "$dir" + mkdir -p "$dir" - if ! makeDir "$dir"; then - error "Failed to create directory \"$dir\" !" && return 1 - fi - - size=9606127360 + size=16106127360 size_gb=$(formatBytes "$size") space=$(df --output=avail -B 1 "$dir" | tail -n 1) space_gb=$(formatBytes "$space") @@ -411,70 +366,40 @@ extractESD() { error "Cannot read the image count in ESD file!" && return 1 fi - sizes=$(wimlib-imagex info "$iso" | grep "Total Bytes:") - links=$(wimlib-imagex info "$iso" | grep "Hard Link Bytes:") - - total1=$(awk "NR==1{ print; }" <<< "$sizes" | cut -d':' -f2 | sed 's/^ *//') - links1=$(awk "NR==1{ print; }" <<< "$links" | cut -d':' -f2 | sed 's/^ *//') - total=$(( total1 - links1 )) - - total3=$(awk "NR==3{ print; }" <<< "$sizes" | cut -d':' -f2 | sed 's/^ *//') - links3=$(awk "NR==3{ print; }" <<< "$links" | cut -d':' -f2 | sed 's/^ *//') - total3=$(( total3 - links3 )) - total3=$(( total3 + 60000000 )) - - /run/progress.sh "$dir" "$total" "$msg ([P])..." & - - imageIndex="1" - wimlib-imagex apply "$iso" "$imageIndex" "$dir" --quiet 2>/dev/null || { + wimlib-imagex apply "$iso" 1 "$dir" --quiet 2>/dev/null || { retVal=$? - fKill "progress.sh" - error "Extracting $desc bootdisk failed ($retVal)" && return 1 + error "Extracting $desc bootdisk failed" && return $retVal } - fKill "progress.sh" - local bootWimFile="$dir/sources/boot.wim" local installWimFile="$dir/sources/install.wim" - local msg="Extracting $desc environment" - info "$msg..." && html "$msg..." + local msg="Extracting $desc environment..." + info "$msg" && html "$msg" - imageIndex="2" - /run/progress.sh "$bootWimFile" "$total3" "$msg ([P])..." & - - wimlib-imagex export "$iso" "$imageIndex" "$bootWimFile" --compress=none --quiet || { + wimlib-imagex export "$iso" 2 "$bootWimFile" --compress=none --quiet || { retVal=$? - fKill "progress.sh" - error "Adding WinPE failed ($retVal)" && return 1 + error "Adding WinPE failed" && return ${retVal} } - fKill "progress.sh" + local msg="Extracting $desc setup..." + info "$msg" && html "$msg" - local msg="Extracting $desc setup" - info "$msg..." - - imageIndex="3" - /run/progress.sh "$bootWimFile" "$total3" "$msg ([P])..." & - - wimlib-imagex export "$iso" "$imageIndex" "$bootWimFile" --compress=none --boot --quiet || { + wimlib-imagex export "$iso" 3 "$bootWimFile" --compress=none --boot --quiet || { retVal=$? - fKill "progress.sh" - error "Adding Windows Setup failed ($retVal)" && return 1 + error "Adding Windows Setup failed" && return ${retVal} } - fKill "progress.sh" - if [[ "${PLATFORM,,}" == "x64" ]]; then LABEL="CCCOMA_X64FRE_EN-US_DV9" else LABEL="CPBA_A64FRE_EN-US_DV9" fi - local msg="Extracting $desc image" - info "$msg..." && html "$msg..." + local msg="Extracting $desc image..." + info "$msg" && html "$msg" - local edition imageEdition + local edition imageIndex imageEdition edition=$(getCatalog "$version" "name") if [ -z "$edition" ]; then @@ -482,27 +407,15 @@ extractESD() { fi for (( imageIndex=4; imageIndex<=esdImageCount; imageIndex++ )); do - - imageEdition=$(wimlib-imagex info "$iso" "$imageIndex" | grep '^Description:' | sed 's/Description:[ \t]*//') + imageEdition=$(wimlib-imagex info "$iso" ${imageIndex} | grep '^Description:' | sed 's/Description:[ \t]*//') [[ "${imageEdition,,}" != "${edition,,}" ]] && continue - - total4=$(du -sb "$iso" | cut -f1) - total4=$(( total4 + 3000000 )) - - /run/progress.sh "$installWimFile" "$total4" "$msg ([P])..." & - - wimlib-imagex export "$iso" "$imageIndex" "$installWimFile" --compress=LZMS --chunk-size 128K --quiet || { + wimlib-imagex export "$iso" ${imageIndex} "$installWimFile" --compress=LZMS --chunk-size 128K --quiet || { retVal=$? - fKill "progress.sh" - error "Addition of $imageIndex to the $desc image failed ($retVal)" && return 1 + error "Addition of $imageIndex to the $desc image failed" && return $retVal } - - fKill "progress.sh" return 0 - done - fKill "progress.sh" error "Failed to find product '$edition' in install.wim!" && return 1 } @@ -526,21 +439,18 @@ extractImage() { return 1 fi - local msg="Extracting $desc image" - info "$msg..." && html "$msg..." + local msg="Extracting $desc image..." + info "$msg" && html "$msg" rm -rf "$dir" - - if ! makeDir "$dir"; then - error "Failed to create directory \"$dir\" !" && return 1 - fi + mkdir -p "$dir" size=$(stat -c%s "$iso") size_gb=$(formatBytes "$size") space=$(df --output=avail -B 1 "$dir" | tail -n 1) space_gb=$(formatBytes "$space") - if (( size < 100000000 )); then + if ((size<100000000)); then error "Invalid ISO file: Size is smaller than 100 MB" && return 1 fi @@ -549,15 +459,11 @@ extractImage() { fi rm -rf "$dir" - /run/progress.sh "$dir" "$size" "$msg ([P])..." & if ! 7z x "$iso" -o"$dir" > /dev/null; then - fKill "progress.sh" error "Failed to extract ISO file: $iso" && return 1 fi - fKill "progress.sh" - if [[ "${UNPACK:-}" != [Yy1]* ]]; then LABEL=$(isoinfo -d -i "$iso" | sed -n 's/Volume id: //p') @@ -849,10 +755,13 @@ updateXML() { local language="$2" local culture region user admin pass keyboard + if [ -n "${VM_NET_IP:-}" ]; then + sed -i "s/ 20.20.20.1 / ${VM_NET_IP%.*}.1 /g" "$asset" + fi + [ -z "$HEIGHT" ] && HEIGHT="720" [ -z "$WIDTH" ] && WIDTH="1280" - sed -i "s/>Windows for Docker$APP for $ENGINE1080<\/VerticalResolution>/$HEIGHT<\/VerticalResolution>/g" "$asset" sed -i "s/1920<\/HorizontalResolution>/$WIDTH<\/HorizontalResolution>/g" "$asset" @@ -1170,8 +1079,8 @@ buildImage() { desc=$(printVersion "$DETECTED" "ISO") - local msg="Building $desc image" - info "$msg..." && html "$msg..." + local msg="Building $desc image..." + info "$msg" && html "$msg" [ -z "$LABEL" ] && LABEL="Windows" @@ -1188,8 +1097,6 @@ buildImage() { error "Not enough free space in $STORAGE, have $space_gb available but need at least $size_gb." && return 1 fi - /run/progress.sh "$out" "$size" "$msg ([P])..." & - if [[ "${BOOT_MODE,,}" != "windows_legacy" ]]; then genisoimage -o "$out" -b "$ETFS" -no-emul-boot -c "$cat" -iso-level 4 -J -l -D -N -joliet-long -relaxed-filenames -V "${LABEL::30}" \ @@ -1210,8 +1117,6 @@ buildImage() { fi - fKill "progress.sh" - if [ -n "$failed" ]; then [ -s "$log" ] && echo "$(<"$log")" error "Failed to build image!" && return 1 @@ -1224,8 +1129,6 @@ buildImage() { [[ "$error" != "$hide" ]] && echo "$error" mv -f "$out" "$BOOT" || return 1 - ! setOwner "$BOOT" && error "Failed to set the owner for \"$BOOT\" !" - return 0 } diff --git a/src/mido.sh b/src/mido.sh index 369fc17..2f35442 100644 --- a/src/mido.sh +++ b/src/mido.sh @@ -171,6 +171,8 @@ download_windows() { return 1 fi + [[ "$DEBUG" == [Yy1]* ]] && echo "Found download link: $iso_download_link" + MIDO_URL="$iso_download_link" return 0 } @@ -307,19 +309,17 @@ download_windows_eval() { return $? } + [[ "$DEBUG" == [Yy1]* ]] && echo "Found download link: $iso_download_link" + case "${PLATFORM,,}" in "x64" ) if [[ "${iso_download_link,,}" != *"x64"* ]]; then - echo "Found download link: $iso_download_link" - error "Download link is for the wrong platform? Please report this at $SUPPORT/issues" + error "Download link is for the wrong platform? Please report this at $SUPPORT/issues" return 1 fi ;; "arm64" ) if [[ "${iso_download_link,,}" != *"a64"* && "${iso_download_link,,}" != *"arm64"* ]]; then - if [[ "$DEBUG" == [Yy1]* ]]; then - echo "Found download link: $iso_download_link" - echo "Link for ARM platform currently not available!" - fi + [[ "$DEBUG" == [Yy1]* ]] && echo "Link for ARM platform currently not available!" return 1 fi ;; esac @@ -487,11 +487,8 @@ getESD() { info "$msg" && html "$msg" rm -rf "$dir" + mkdir -p "$dir" - if ! makeDir "$dir"; then - error "Failed to create directory \"$dir\" !" && return 1 - fi - local xFile="products.xml" local eFile="esd_edition.xml" local fFile="products_filter.xml" diff --git a/src/power.sh b/src/power.sh index 98a6f73..9ca5583 100644 --- a/src/power.sh +++ b/src/power.sh @@ -1,11 +1,11 @@ #!/usr/bin/env bash set -Eeuo pipefail -: "${QEMU_TIMEOUT:="110"}" # QEMU Termination timeout - # Configure QEMU for graceful shutdown QEMU_TERM="" +QEMU_PORT=7100 +QEMU_TIMEOUT=110 QEMU_DIR="/run/shm" QEMU_PID="$QEMU_DIR/qemu.pid" QEMU_PTY="$QEMU_DIR/qemu.pty" @@ -74,7 +74,6 @@ ready() { finish() { local pid - local cnt=0 local reason=$1 touch "$QEMU_END" @@ -82,32 +81,20 @@ finish() { if [ -s "$QEMU_PID" ]; then pid=$(<"$QEMU_PID") - echo && error "Forcefully terminating Windows, reason: $reason..." + error "Forcefully terminating Windows, reason: $reason..." { kill -15 "$pid" || true; } 2>/dev/null while isAlive "$pid"; do - sleep 1 - cnt=$((cnt+1)) - # Workaround for zombie pid [ ! -s "$QEMU_PID" ] && break - - if [ "$cnt" == "5" ]; then - echo && error "QEMU did not terminate itself, forcefully killing process..." - { kill -9 "$pid" || true; } 2>/dev/null - fi - done - fi if [ ! -f "$STORAGE/windows.boot" ] && [ -f "$BOOT" ]; then # Remove CD-ROM ISO after install if ready; then - local file="$STORAGE/windows.boot" - touch "$file" - ! setOwner "$file" && error "Failed to set the owner for \"$file\" !" + touch "$STORAGE/windows.boot" if [[ "$REMOVE" != [Nn]* ]]; then rm -f "$BOOT" 2>/dev/null || true fi @@ -116,19 +103,11 @@ finish() { pid="/var/run/tpm.pid" [ -s "$pid" ] && pKill "$(<"$pid")" - rm -f "$pid" pid="/var/run/wsdd.pid" [ -s "$pid" ] && pKill "$(<"$pid")" - rm -f "$pid" - pid="/var/run/samba/nmbd.pid" - [ -s "$pid" ] && pKill "$(<"$pid")" - rm -f "$pid" - - pid="/var/run/samba/smbd.pid" - [ -s "$pid" ] && pKill "$(<"$pid")" - rm -f "$pid" + fKill "smbd" closeNetwork @@ -160,7 +139,7 @@ terminal() { fi if [ ! -c "$dev" ]; then - dev=$(echo 'info chardev' | nc -q 1 -w 1 localhost "$MON_PORT" | tr -d '\000') + dev=$(echo 'info chardev' | nc -q 1 -w 1 localhost "$QEMU_PORT" | tr -d '\000') dev="${dev#*serial0}" dev="${dev#*pty:}" dev="${dev%%$'\n'*}" @@ -209,7 +188,7 @@ _graceful_shutdown() { fi # Send ACPI shutdown signal - echo 'system_powerdown' | nc -q 1 -w 1 localhost "$MON_PORT" > /dev/null + echo 'system_powerdown' | nc -q 1 -w 1 localhost "${QEMU_PORT}" > /dev/null local cnt=0 while [ "$cnt" -lt "$QEMU_TIMEOUT" ]; do @@ -224,7 +203,7 @@ _graceful_shutdown() { info "Waiting for Windows to shutdown... ($cnt/$QEMU_TIMEOUT)" # Send ACPI shutdown signal - echo 'system_powerdown' | nc -q 1 -w 1 localhost "$MON_PORT" > /dev/null + echo 'system_powerdown' | nc -q 1 -w 1 localhost "${QEMU_PORT}" > /dev/null done @@ -236,7 +215,7 @@ _graceful_shutdown() { } SERIAL="pty" -MONITOR="telnet:localhost:$MON_PORT,server,nowait,nodelay" +MONITOR="telnet:localhost:$QEMU_PORT,server,nowait,nodelay" MONITOR+=" -daemonize -D $QEMU_LOG -pidfile $QEMU_PID" _trap _graceful_shutdown SIGTERM SIGHUP SIGINT SIGABRT SIGQUIT diff --git a/src/samba.sh b/src/samba.sh index 7cd3210..6c3d38f 100644 --- a/src/samba.sh +++ b/src/samba.sh @@ -1,123 +1,77 @@ #!/usr/bin/env bash set -Eeuo pipefail -: "${SAMBA:="Y"}" # Enable Samba -: "${SAMBA_LEVEL:="1"}" # Logging level -: "${SAMBA_DEBUG:="N"}" # Disable debug - -tmp="/tmp/smb" -rm -rf "$tmp" - -rm -f /var/run/wsdd.pid -rm -f /var/run/samba/nmbd.pid -rm -f /var/run/samba/smbd.pid +: "${SAMBA:="Y"}" [[ "$SAMBA" == [Nn]* ]] && return 0 [[ "$NETWORK" == [Nn]* ]] && return 0 +hostname="host.lan" +interface="dockerbridge" + if [[ "$DHCP" == [Yy1]* ]]; then - socket="$IP" hostname="$IP" - interfaces="$VM_NET_DEV" -else - hostname="host.lan" - case "${NETWORK,,}" in - "passt" | "slirp" ) - interfaces="lo" - socket="127.0.0.1" ;; - *) - socket="$VM_NET_IP" - interfaces="$VM_NET_BRIDGE" ;; - esac - if [ -n "${SAMBA_INTERFACE:-}" ]; then - interfaces+=",$SAMBA_INTERFACE" - fi + interface="$VM_NET_DEV" fi -html "Initializing shared folder..." -SAMBA_CONFIG="/etc/samba/smb.conf" -[[ "$DEBUG" == [Yy1]* ]] && echo "Starting Samba daemon..." +if [[ "${NETWORK,,}" == "user"* ]]; then + interface="127.0.0.1" +fi addShare() { local dir="$1" - local ref="$2" - local name="$3" - local comment="$4" - local cfg="$5" - local owner="" + local name="$2" + local comment="$3" - if [ ! -d "$dir" ]; then - if ! mkdir -p "$dir"; then - error "Failed to create shared folder ($dir)." && return 1 - fi - fi - - if ! ls -A "$dir" >/dev/null 2>&1; then - msg="No permission to access shared folder ($dir)." - msg+=" If SELinux is active, you need to add the \":Z\" flag to the bind mount." - error "$msg" && return 1 - fi - - if [ ! -w "$dir" ]; then - msg="shared folder ($dir) is not writeable!" - warn "$msg" - fi + mkdir -p "$dir" || return 1 + ls -A "$dir" >/dev/null 2>&1 || return 1 if [ -z "$(ls -A "$dir")" ]; then - if ! chmod 2777 "$dir"; then - error "Failed to set permissions for directory $dir" && return 1 - fi - owner=$(stat -c %u "$dir") - if [[ "$owner" == "0" ]]; then - if ! chown "1000:1000" "$dir"; then - error "Failed to set ownership for directory $dir" && return 1 - fi - fi - fi - if [[ "$dir" == "$tmp" ]]; then + chmod 777 "$dir" || return 1 - { echo "--------------------------------------------------------" - echo " $APP for $ENGINE v$( "$dir/readme.txt" fi - { echo "" - echo "[$name]" - echo " path = $dir" - echo " comment = $comment" - echo " writable = yes" - echo " guest ok = yes" - echo " guest only = yes" - } >> "$cfg" + { echo "" + echo "[$name]" + echo " path = $dir" + echo " comment = $comment" + echo " writable = yes" + echo " guest ok = yes" + echo " guest only = yes" + echo " force user = root" + echo " force group = root" + } >> "/etc/samba/smb.conf" return 0 } -{ echo "[global]" +{ echo "[global]" echo " server string = Dockur" echo " netbios name = $hostname" echo " workgroup = WORKGROUP" - echo " interfaces = $interfaces" + echo " interfaces = $interface" echo " bind interfaces only = yes" - echo " socket address = $socket" echo " security = user" echo " guest account = nobody" echo " map to guest = Bad User" @@ -125,104 +79,57 @@ addShare() { echo " follow symlinks = yes" echo " wide links = yes" echo " unix extensions = no" - echo " inherit owner = yes" - echo " create mask = 0666" - echo " directory mask = 02777" - echo " force user = root" - echo " force group = root" - echo " force create mode = 0666" - echo " force directory mode = 02777" echo "" - echo " # Disable printing services" + echo " # disable printing services" echo " load printers = no" echo " printing = bsd" echo " printcap name = /dev/null" echo " disable spoolss = yes" -} > "$SAMBA_CONFIG" +} > "/etc/samba/smb.conf" -# Add shared folders -share="/shared" -[ ! -d "$share" ] && [ -d "$STORAGE/shared" ] && share="$STORAGE/shared" -[ ! -d "$share" ] && [ -d "/data" ] && share="/data" +share="/data" [ ! -d "$share" ] && [ -d "$STORAGE/data" ] && share="$STORAGE/data" -[ ! -d "$share" ] && share="$tmp" +[ ! -d "$share" ] && [ -d "/shared" ] && share="/shared" +[ ! -d "$share" ] && [ -d "$STORAGE/shared" ] && share="$STORAGE/shared" -! addShare "$share" "/shared" "Data" "Shared" "$SAMBA_CONFIG" && return 0 - -if [ -d "/shared2" ]; then - addShare "/shared2" "/shared2" "Data2" "Shared" "$SAMBA_CONFIG" || : -else - if [ -d "/data2" ]; then - addShare "/data2" "/shared2" "Data2" "Shared" "$SAMBA_CONFIG" || : - fi +if ! addShare "$share" "Data" "Shared"; then + error "Failed to add shared folder '$share'. Please check its permissions." && return 0 fi -if [ -d "/shared3" ]; then - addShare "/shared3" "/shared3" "Data3" "Shared" "$SAMBA_CONFIG" || : -else - if [ -d "/data3" ]; then - addShare "/data3" "/shared3" "Data3" "Shared" "$SAMBA_CONFIG" || : - fi +if [ -d "/data2" ]; then + addShare "/data2" "Data2" "Shared" || error "Failed to add shared folder '/data2'. Please check its permissions." fi -# Create directories if missing -mkdir -p /var/lib/samba/sysvol -mkdir -p /var/lib/samba/private -mkdir -p /var/lib/samba/bind-dns +if [ -d "/data3" ]; then + addShare "/data3" "Data3" "Shared" || error "Failed to add shared folder '/data3'. Please check its permissions." +fi -# Try to repair Samba permissions +IFS=',' read -r -a dirs <<< "${SHARES:-}" +for dir in "${dirs[@]}"; do + [ ! -d "$dir" ] && continue + dir_name=$(basename "$dir") + addShare "$dir" "$dir_name" "Shared $dir_name" || error "Failed to create shared folder for $dir!" +done + +# Try to fix Samba permissions [ -d /run/samba/msg.lock ] && chmod -R 0755 /run/samba/msg.lock 2>/dev/null || : [ -d /var/log/samba/cores ] && chmod -R 0700 /var/log/samba/cores 2>/dev/null || : [ -d /var/cache/samba/msg.lock ] && chmod -R 0755 /var/cache/samba/msg.lock 2>/dev/null || : -rm -f /var/log/samba/log.smbd - -if ! smbd -l /var/log/samba; then - SAMBA_DEBUG="Y" - error "Failed to start Samba daemon!" +if ! smbd; then + error "Samba daemon failed to start!" + smbd -i --debug-stdout || true fi -if [[ "$SAMBA_DEBUG" == [Yy1]* ]]; then - tail -fn +0 /var/log/samba/log.smbd --pid=$$ & -fi - -case "${NETWORK,,}" in - "passt" | "slirp" ) - return 0 ;; -esac - if [[ "${BOOT_MODE:-}" == "windows_legacy" ]]; then - # Enable NetBIOS on Windows 7 and lower - [[ "$DEBUG" == [Yy1]* ]] && echo "Starting NetBIOS daemon..." - - rm -f /var/log/samba/log.nmbd - - if ! nmbd -l /var/log/samba; then - SAMBA_DEBUG="Y" - error "Failed to start NetBIOS daemon!" + if ! nmbd; then + error "NetBIOS daemon failed to start!" + nmbd -i --debug-stdout || true fi - - if [[ "$SAMBA_DEBUG" == [Yy1]* ]]; then - tail -fn +0 /var/log/samba/log.nmbd --pid=$$ & - fi - else - # Enable Web Service Discovery on Vista and up - [[ "$DEBUG" == [Yy1]* ]] && echo "Starting wsddn daemon..." - - rm -f /var/log/wsddn.log - - if ! wsddn -i "${interfaces%%,*}" -H "$hostname" --unixd --log-file=/var/log/wsddn.log --pid-file=/var/run/wsdd.pid; then - SAMBA_DEBUG="Y" - error "Failed to start wsddn daemon!" - fi - - if [[ "$SAMBA_DEBUG" == [Yy1]* ]]; then - tail -fn +0 /var/log/wsddn.log --pid=$$ & - fi - + wsddn -i "$interface" -H "$hostname" --pid-file=/var/run/wsdd.pid >/dev/null & fi return 0