fix(ci): use correct OutDir for OffsetFinder exe path

Confirmed by local build (linker /OUT: argument):
- Win32: OutDir = Release\ (no platform prefix - MSVC default for Win32)
- x64:   OutDir = x64\Release\

Replace finder_plat/SlnPlatform guesses with explicit out_dir field:
  Win32 -> out_dir: Release
  x64   -> out_dir: x64/Release

Also remove the temporary diagnostic step.
pull/4062/head
Simon Jackson 1 month ago
parent 76a4101abe
commit 2e1add7f30

@ -109,8 +109,8 @@ jobs:
Write-Host "Submodule version: $version" Write-Host "Submodule version: $version"
foreach ($cfg in @( foreach ($cfg in @(
@{ Platform = 'x64'; SlnPlatform = 'x64'; ZydisCfg = 'Release MD DLL'; ZydisBin = 'ReleaseX64'; Arch = 'x64' } @{ Platform = 'x64'; SlnPlatform = 'x64'; OutDir = 'x64/Release'; ZydisCfg = 'Release MD DLL'; ZydisBin = 'ReleaseX64'; Arch = 'x64' }
@{ Platform = 'Win32'; SlnPlatform = 'x86'; ZydisCfg = 'Release MD DLL'; ZydisBin = 'ReleaseX86'; Arch = 'x86' } @{ Platform = 'Win32'; SlnPlatform = 'x86'; OutDir = 'Release'; ZydisCfg = 'Release MD DLL'; ZydisBin = 'ReleaseX86'; Arch = 'x86' }
)) { )) {
# Build Zydis DLL # Build Zydis DLL
msbuild src-csharp/RDPOffsetFinder/zydis/msvc/zydis/Zydis.vcxproj ` msbuild src-csharp/RDPOffsetFinder/zydis/msvc/zydis/Zydis.vcxproj `
@ -132,9 +132,8 @@ jobs:
/v:minimal /v:minimal
$arch = $cfg.Arch $arch = $cfg.Arch
# .sln build outputs to SolutionDir/<SlnPlatform>/Release/ where SlnPlatform is x86/x64 # Win32 OutDir = Release\ (no platform prefix); x64 OutDir = x64\Release\
# (solution GlobalSection maps x86->Win32 internally, but $(Platform) seen by vcxproj is x86) $exeSrc = "src-csharp/RDPOffsetFinder/$($cfg.OutDir)/RDPWrapOffsetFinder.exe"
$exeSrc = "src-csharp/RDPOffsetFinder/$($cfg.SlnPlatform)/Release/RDPWrapOffsetFinder.exe"
$dllSrc = "src-csharp/RDPOffsetFinder/zydis/msvc/bin/$($cfg.ZydisBin)/Zydis.dll" $dllSrc = "src-csharp/RDPOffsetFinder/zydis/msvc/bin/$($cfg.ZydisBin)/Zydis.dll"
Copy-Item $exeSrc ".\RDPWrapOffsetFinder_$arch.exe" Copy-Item $exeSrc ".\RDPWrapOffsetFinder_$arch.exe"
Copy-Item $dllSrc ".\Zydis_$arch.dll" Copy-Item $dllSrc ".\Zydis_$arch.dll"

@ -29,12 +29,12 @@ jobs:
sln_platform: x64 sln_platform: x64
zydis_cfg: "Release MD DLL" zydis_cfg: "Release MD DLL"
zydis_bin: ReleaseX64 zydis_bin: ReleaseX64
finder_plat: x64 out_dir: x64/Release
- platform: Win32 - platform: Win32
sln_platform: x86 sln_platform: x86
zydis_cfg: "Release MD DLL" zydis_cfg: "Release MD DLL"
zydis_bin: ReleaseX86 zydis_bin: ReleaseX86
finder_plat: x86 out_dir: Release
steps: steps:
- name: Checkout repository (with submodules) - name: Checkout repository (with submodules)
@ -68,23 +68,13 @@ jobs:
/p:PlatformToolset=v143 ` /p:PlatformToolset=v143 `
/v:minimal /v:minimal
- name: Locate build outputs (diagnostic)
shell: pwsh
run: |
Write-Host "=== RDPWrapOffsetFinder.exe candidates ==="
Get-ChildItem -Recurse -Filter "RDPWrapOffsetFinder.exe" -Path "src-csharp/RDPOffsetFinder" -ErrorAction SilentlyContinue |
Select-Object FullName, Length | Format-Table -AutoSize
Write-Host "=== Directory tree (Release folders only) ==="
Get-ChildItem -Recurse -Directory -Filter "Release" -Path "src-csharp/RDPOffsetFinder" -ErrorAction SilentlyContinue |
Select-Object FullName | Format-Table -AutoSize
- name: Collect outputs - name: Collect outputs
shell: pwsh shell: pwsh
run: | run: |
$arch = if ("${{ matrix.platform }}" -eq "Win32") { "x86" } else { "x64" } $arch = if ("${{ matrix.platform }}" -eq "Win32") { "x86" } else { "x64" }
$root = "src-csharp/RDPOffsetFinder" $root = "src-csharp/RDPOffsetFinder"
# .sln build outputs to SolutionDir/<Platform>/Release/ (not <ProjectDir>/<Platform>/Release/) # Win32 OutDir = Release\ (no platform prefix); x64 OutDir = x64\Release\
$exe = "$root/${{ matrix.finder_plat }}/Release/RDPWrapOffsetFinder.exe" $exe = "$root/${{ matrix.out_dir }}/RDPWrapOffsetFinder.exe"
$dll = "$root/zydis/msvc/bin/${{ matrix.zydis_bin }}/Zydis.dll" $dll = "$root/zydis/msvc/bin/${{ matrix.zydis_bin }}/Zydis.dll"
Write-Host "Exe: $(Get-Item $exe | Select-Object -Exp Length) bytes" Write-Host "Exe: $(Get-Item $exe | Select-Object -Exp Length) bytes"

Loading…
Cancel
Save