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
[](https://codespaces.new/dockur/windows)
-##### Via a graphical installer:
-
-[](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