@@ -202,8 +202,44 @@ jobs:
202202 name : screenmcp-android
203203 path : ${{ steps.apk.outputs.path }}
204204
205+ build-windows-installer :
206+ runs-on : ubuntu-latest
207+
208+ steps :
209+ - uses : actions/checkout@v4
210+
211+ - name : Install build dependencies
212+ run : |
213+ sudo apt-get update
214+ sudo apt-get install -y nsis mingw-w64
215+
216+ - name : Install Rust toolchain (Windows GNU target)
217+ uses : dtolnay/rust-toolchain@stable
218+ with :
219+ targets : x86_64-pc-windows-gnu
220+
221+ - name : Build Windows installer (.exe)
222+ working-directory : windows
223+ run : ./build-installer.sh "${GITHUB_REF_NAME#v}"
224+
225+ - name : Determine installer name
226+ id : installer
227+ shell : bash
228+ run : |
229+ version="${GITHUB_REF_NAME#v}"
230+ file="screenmcp-setup-${version}-x86_64.exe"
231+ cp "windows/target/installer/${file}" "${file}"
232+ echo "path=${file}" >> "$GITHUB_OUTPUT"
233+ echo "name=${file}" >> "$GITHUB_OUTPUT"
234+
235+ - name : Upload artifact
236+ uses : actions/upload-artifact@v4
237+ with :
238+ name : screenmcp-windows-installer
239+ path : ${{ steps.installer.outputs.path }}
240+
205241 release :
206- needs : [build-desktop, build-android]
242+ needs : [build-desktop, build-android, build-windows-installer ]
207243 runs-on : ubuntu-latest
208244 steps :
209245 - uses : actions/checkout@v4
@@ -216,7 +252,7 @@ jobs:
216252 - name : Collect release assets
217253 run : |
218254 mkdir -p release
219- find artifacts -type f \( -name '*.tar.gz' -o -name '*.zip' -o -name '*.apk' -o -name '*.dmg' \) -exec mv {} release/ \;
255+ find artifacts -type f \( -name '*.tar.gz' -o -name '*.zip' -o -name '*.apk' -o -name '*.dmg' -o -name 'screenmcp-setup-*-x86_64.exe' \) -exec mv {} release/ \;
220256 ls -lh release/
221257
222258 - name : Generate checksums
@@ -241,6 +277,7 @@ jobs:
241277 | **macOS (Apple Silicon)** | `screenmcp-mac-aarch64-apple-darwin-*.dmg` | M1/M2/M3/M4 Macs |
242278 | **macOS (Intel)** | `screenmcp-mac-x86_64-apple-darwin-*.dmg` | Older Intel Macs |
243279 | **Windows** | `screenmcp-windows-*.zip` | x86_64 |
280+ | **Windows Installer** | `screenmcp-setup-*-x86_64.exe` | NSIS setup wizard |
244281 | **Linux** | `screenmcp-linux-*.tar.gz` | x86_64 |
245282 | **Android** | `screenmcp-android-*.apk` | ARM/x86 |
246283
0 commit comments