From 9823b14b316865788b93508784e9f9247e7659ef Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Sun, 29 Mar 2026 14:46:43 +0100 Subject: [PATCH 1/2] fix: bundle RDPWrapOffsetFinder exe+dll into per-arch zips for manual use --- .github/workflows/publish-ini.yml | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish-ini.yml b/.github/workflows/publish-ini.yml index b304abe..d11dfd5 100644 --- a/.github/workflows/publish-ini.yml +++ b/.github/workflows/publish-ini.yml @@ -86,8 +86,19 @@ jobs: Copy-Item $x64dll.FullName .\Zydis_x64.dll Copy-Item $x86dll.FullName .\Zydis_x86.dll + # Build self-contained zip bundles so manual users can extract-and-run + # without needing to rename the DLL or download a second file. + foreach ($arch in @('x64', 'x86')) { + $bundle = ".\bundle_$arch" + New-Item -ItemType Directory -Path $bundle -Force | Out-Null + Copy-Item ".\RDPWrapOffsetFinder_$arch.exe" "$bundle\RDPWrapOffsetFinder.exe" + Copy-Item ".\Zydis_$arch.dll" "$bundle\Zydis.dll" + Compress-Archive -Path "$bundle\*" -DestinationPath ".\RDPWrapOffsetFinder_$arch.zip" -Force + Remove-Item $bundle -Recurse -Force + } + Write-Host "Staged binaries:" - Get-ChildItem .\RDPWrapOffsetFinder_*.exe, .\Zydis_*.dll | + Get-ChildItem .\RDPWrapOffsetFinder_*.exe, .\Zydis_*.dll, .\RDPWrapOffsetFinder_*.zip | Format-Table Name, Length echo "finder_ver=$($release.tag_name)" >> $env:GITHUB_OUTPUT @@ -125,15 +136,18 @@ jobs: | File | Purpose | |---|---| | `rdpwrap.ini` | Latest offset database for all known termsrv.dll versions | - | `RDPWrapOffsetFinder_x64.exe` | Auto-generates offsets for unknown x64 Windows builds | - | `RDPWrapOffsetFinder_x86.exe` | Auto-generates offsets for unknown x86 Windows builds | - | `Zydis_x64.dll` / `Zydis_x86.dll` | Required runtime for the offset finder | + | `RDPWrapOffsetFinder_x64.zip` | x64 finder bundle — extract and run `RDPWrapOffsetFinder.exe` directly | + | `RDPWrapOffsetFinder_x86.zip` | x86 finder bundle — extract and run `RDPWrapOffsetFinder.exe` directly | + | `RDPWrapOffsetFinder_x64.exe` / `Zydis_x64.dll` | Loose x64 binaries (used by the installer) | + | `RDPWrapOffsetFinder_x86.exe` / `Zydis_x86.dll` | Loose x86 binaries (used by the installer) | The installer fetches `rdpwrap.ini` from this release automatically. If your termsrv.dll version is not in the INI, the installer downloads the offset finder tools and generates the missing section on-the-fly. files: | res/rdpwrap.ini + RDPWrapOffsetFinder_x64.zip + RDPWrapOffsetFinder_x86.zip RDPWrapOffsetFinder_x64.exe RDPWrapOffsetFinder_x86.exe Zydis_x64.dll From c6ed12c15b251ecb3dd0a3fd7285f0f2bc07fed2 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Sun, 29 Mar 2026 14:56:57 +0100 Subject: [PATCH 2/2] fix: mark releases as prerelease=false so /releases/latest resolves correctly --- .github/workflows/build-cpp.yml | 1 + .github/workflows/publish-ini.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/build-cpp.yml b/.github/workflows/build-cpp.yml index 398af10..a9bf0b6 100644 --- a/.github/workflows/build-cpp.yml +++ b/.github/workflows/build-cpp.yml @@ -74,6 +74,7 @@ jobs: - name: Create GitHub Release uses: softprops/action-gh-release@v2 with: + prerelease: false make_latest: false body: | ## RDP Wrapper DLL – ${{ github.ref_name }} diff --git a/.github/workflows/publish-ini.yml b/.github/workflows/publish-ini.yml index d11dfd5..5fb6876 100644 --- a/.github/workflows/publish-ini.yml +++ b/.github/workflows/publish-ini.yml @@ -122,6 +122,7 @@ jobs: with: tag_name: "ini-${{ steps.meta.outputs.date }}" name: "INI Update ${{ steps.meta.outputs.date }}" + prerelease: false make_latest: true body: | ## RDP Wrapper — Automated INI Release