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..49e8c8b 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.21 / /
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..41e8a70 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
+ 21
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
- 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..c998592 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
+ 21
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
- 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..bed9cbe 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
+ 21
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
- 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..6957f2b 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
+ 21
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
- 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..ef19c57 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
+ 21
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
- 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..32dac2a 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
+ 24
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
- 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..4c6746e 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
+ 24
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
- 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..91ab3ce 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
+ 24
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
- 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..7707cfb 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
+ 24
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
- 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..95d1d16 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
+ 24
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
- 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..e7bd802 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
+ 19
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
-
+
- 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..a345bf8 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
+ 19
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
-
+
- 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..a9de3c6 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
+ 16
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
-
+
- 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..1d1a5b6 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
+ 16
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
-
+
- 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..568e9f5 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
+ 20
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
-
+
- 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..6f75c66 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
+ 20
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
-
+
- 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..cca0e35 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
+ 20
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
-
+
- 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..4c416cf 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
+ 20
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
-
+
- 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..5133bed 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
+ 20
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
-
+
- 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..b525065 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
+ 20
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
-
+
- 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..9159226 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
+ 20
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
-
+
- 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..9ec3a7d 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
+ 22
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
-
+
- 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..8098192 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
+ 22
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
-
+
- 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/win81x64-enterprise-eval.xml b/assets/win81x64-enterprise-eval.xml
index 745fd9d..a406f7f 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
+ 16
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
-
+
- 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..db6eec9 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
+ 16
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
-
+
- 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..bf1ff5e 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
+ 16
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
-
+
- 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..d6ff627 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
+ 22
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
-
+
- 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..78ed091 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
+ 22
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
-
+
- 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..d1de997 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
+ 22
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
-
+
- 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..91c96df 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
+ 22
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
-
+
- 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..c3ec41a 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
+ 22
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
-
+
- 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..07003fb 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
+ 22
cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
Create desktop shortcut to shared folder
-
+
- 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..50a66b4 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?
@@ -160,7 +156,7 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas
### 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 +168,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 +182,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 +193,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 +201,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..d094037 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
@@ -1620,7 +1620,7 @@ prepareInstall() {
echo "[UserData]"
echo " FullName=\"$username\""
echo " ComputerName=\"*\""
- echo " OrgName=\"$APP for $ENGINE\""
+ echo " OrgName=\"Windows for Docker\""
echo " $KEY"
echo ""
echo "[Identification]"
diff --git a/src/entry.sh b/src/entry.sh
index 71e939e..b7f9e0a 100644
--- a/src/entry.sh
+++ b/src/entry.sh
@@ -8,10 +8,9 @@ set -Eeuo pipefail
cd /run
-. start.sh # Startup hook
+. start.sh # Placeholder
. 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 +21,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 +33,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..396911f 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,6 +127,7 @@ startInstall() {
if [[ "${VERSION,,}" == "http"* ]]; then
file=$(basename "${VERSION%%\?*}")
+ file="${file//+/ }"
printf -v file '%b' "${file//%/\\x}"
file="${file//[!A-Za-z0-9._-]/_}"
@@ -163,9 +156,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 +178,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 +188,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 +196,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 +339,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 +367,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 +408,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 +440,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 +460,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')
@@ -852,7 +759,6 @@ updateXML() {
[ -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 +1076,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 +1094,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 +1114,6 @@ buildImage() {
fi
- fKill "progress.sh"
-
if [ -n "$failed" ]; then
[ -s "$log" ] && echo "$(<"$log")"
error "Failed to build image!" && return 1
@@ -1224,8 +1126,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..cc5b251 100644
--- a/src/mido.sh
+++ b/src/mido.sh
@@ -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..1c2c223 100644
--- a/src/power.sh
+++ b/src/power.sh
@@ -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
diff --git a/src/samba.sh b/src/samba.sh
index 7cd3210..bf5bf30 100644
--- a/src/samba.sh
+++ b/src/samba.sh
@@ -1,9 +1,9 @@
#!/usr/bin/env bash
set -Eeuo pipefail
-: "${SAMBA:="Y"}" # Enable Samba
-: "${SAMBA_LEVEL:="1"}" # Logging level
-: "${SAMBA_DEBUG:="N"}" # Disable debug
+: "${SAMBA:="Y"}" # Enable Samba
+: "${SAMBA_LEVEL:="1"}" # Logging level
+: "${SAMBA_DEBUG:="N"}" # Disable debug
tmp="/tmp/smb"
rm -rf "$tmp"
@@ -35,7 +35,6 @@ else
fi
html "Initializing shared folder..."
-SAMBA_CONFIG="/etc/samba/smb.conf"
[[ "$DEBUG" == [Yy1]* ]] && echo "Starting Samba daemon..."
addShare() {
@@ -43,81 +42,58 @@ addShare() {
local ref="$2"
local name="$3"
local comment="$4"
- local cfg="$5"
- local owner=""
- 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
+ chmod 777 "$dir" || return 1
fi
if [[ "$dir" == "$tmp" ]]; then
- { 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 " bind interfaces only = yes"
- echo " socket address = $socket"
echo " security = user"
echo " guest account = nobody"
echo " map to guest = Bad User"
@@ -125,50 +101,50 @@ 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 " socket address = $socket"
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"
[ ! -d "$share" ] && [ -d "$STORAGE/data" ] && share="$STORAGE/data"
[ ! -d "$share" ] && share="$tmp"
-! addShare "$share" "/shared" "Data" "Shared" "$SAMBA_CONFIG" && return 0
+m1="Failed to add shared folder"
+m2="Please check its permissions."
+
+if ! addShare "$share" "/shared" "Data" "Shared"; then
+ error "$m1 '$share'. $m2" && return 0
+fi
if [ -d "/shared2" ]; then
- addShare "/shared2" "/shared2" "Data2" "Shared" "$SAMBA_CONFIG" || :
+ addShare "/shared2" "/shared2" "Data2" "Shared" || error "$m1 '/shared2'. $m2"
else
if [ -d "/data2" ]; then
- addShare "/data2" "/shared2" "Data2" "Shared" "$SAMBA_CONFIG" || :
+ addShare "/data2" "/shared2" "Data2" "Shared" || error "$m1 '/data2'. $m2."
fi
fi
if [ -d "/shared3" ]; then
- addShare "/shared3" "/shared3" "Data3" "Shared" "$SAMBA_CONFIG" || :
+ addShare "/shared3" "/shared3" "Data3" "Shared" || error "$m1 '/shared3'. $m2"
else
if [ -d "/data3" ]; then
- addShare "/data3" "/shared3" "Data3" "Shared" "$SAMBA_CONFIG" || :
+ addShare "/data3" "/shared3" "Data3" "Shared" || error "$m1 '/data3'. $m2"
fi
fi
-# Create directories if missing
-mkdir -p /var/lib/samba/sysvol
-mkdir -p /var/lib/samba/private
-mkdir -p /var/lib/samba/bind-dns
+IFS=',' read -r -a dirs <<< "${SHARES:-}"
+for dir in "${dirs[@]}"; do
+ [ ! -d "$dir" ] && continue
+ dir_name=$(basename "$dir")
+ addShare "$dir" "/shared" "$dir_name" "Shared $dir_name" || error "Failed to create shared folder for $dir!"
+done
# Try to repair Samba permissions
[ -d /run/samba/msg.lock ] && chmod -R 0755 /run/samba/msg.lock 2>/dev/null || :
@@ -183,7 +159,7 @@ if ! smbd -l /var/log/samba; then
fi
if [[ "$SAMBA_DEBUG" == [Yy1]* ]]; then
- tail -fn +0 /var/log/samba/log.smbd --pid=$$ &
+ tail -fn +0 /var/log/samba/log.smbd &
fi
case "${NETWORK,,}" in
@@ -204,7 +180,7 @@ if [[ "${BOOT_MODE:-}" == "windows_legacy" ]]; then
fi
if [[ "$SAMBA_DEBUG" == [Yy1]* ]]; then
- tail -fn +0 /var/log/samba/log.nmbd --pid=$$ &
+ tail -fn +0 /var/log/samba/log.nmbd &
fi
else
@@ -220,7 +196,7 @@ else
fi
if [[ "$SAMBA_DEBUG" == [Yy1]* ]]; then
- tail -fn +0 /var/log/wsddn.log --pid=$$ &
+ tail -fn +0 /var/log/wsddn.log &
fi
fi