- concurrency.group: 'release' -> github.workflow + github.ref_name
Fixed group name caused any two runs to queue against each other regardless
of branch. A manual dispatch would wait behind a failed push-triggered run.
- Remove '.github/workflows/build-and-release.yml' from push path filters
Merging a workflow-fix PR was auto-triggering a full release build every time.
Release builds should only fire on source/INI changes or manual dispatch.
WiX ICE24 rejects '2026.4.2' because MSI requires major<256 and 2026>255.
Derive msiVer by stripping the century prefix: '2026.4.2' -> '26.4.2'.
The full yyyy.M.d version is still used for release tag names and file names.
The vcxproj has no custom OutDir so MSBuild uses the default: Platform\Config\.
When building via .sln with /p:Platform=x86 the platform value propagated to
the vcxproj is 'x86' (the CLI override wins over the solution's Win32 mapping),
so the exe lands in x86\Release\, not Win32\Release\.
- build-offsetfinder.yml: finder_plat: Win32 -> x86
- build-and-release.yml: exeSrc path uses SlnPlatform (x86) not Platform (Win32)
Zydis.vcxproj is still invoked directly with Platform=Win32 - unchanged.
The solution GlobalSection only declares Release|x86 and Release|x64.
Passing Platform=Win32 to msbuild with a .sln target is invalid and causes:
MSB4126: The specified solution configuration 'Release|Win32' is invalid.
Add sln_platform (x86/x64) used only for the .sln invocation; keep
Platform=Win32 for the Zydis vcxproj build and the output path lookup
(vcxproj maps x86->Win32 for its OutDir so finder_plat=Win32 stays correct).
Affects both build-offsetfinder.yml and build-and-release.yml.
- build-and-release.yml: \ now points to SolutionDir/<Platform>/Release/
(the .sln build outputs there, not <ProjectDir>/<Platform>/Release/)
- build-offsetfinder.yml: build via RDPWrapOffsetFinder.sln /t:RDPWrapOffsetFinder
so \ resolves to the submodule root where zydis/ lives; fix
matching \ output path
- Remove pull_request paths: filters from all four PR check workflows so
required status checks always run on every PR and never block merges
- build-and-release.yml: build RDPWrapOffsetFinder via .sln target so
\ resolves to the submodule root (src-csharp/RDPOffsetFinder/)
where zydis/ lives; building the vcxproj directly sets SolutionDir to the
vcxproj folder causing C1083 on all include and lib paths
- RDPWrap.vcxproj: add missing Release|ARM64 overrides on stdafx.cpp
(PrecompiledHeader=Create) and dllmain.cpp (empty, disables PCH) so
the ARM64 DLL build does not fail with C1083 missing .pch
RDPWrapOffsetFinder.vcxproj uses \ for both include paths
(zydis/include, zydis/dependencies/zycore/include, zydis/msvc) and for
the linker's AdditionalDependencies (zydis/msvc/bin/ReleaseX*/Zydis.lib).
When msbuild targets the vcxproj directly SolutionDir defaults to the
vcxproj's own directory (RDPWrapOffsetFinder/), making all those paths
point at a non-existent sibling - hence C1083 on every TU.
Fix: build RDPWrapOffsetFinder.sln /t:RDPWrapOffsetFinder so MSBuild
sets SolutionDir to the submodule root (src-csharp/RDPOffsetFinder/)
where zydis/ actually lives. Zydis.dll is still compiled first via its
own standalone vcxproj (which has no SolutionDir dependency).
stdafx.cpp had PrecompiledHeader=Create for Debug|Win32, Debug|x64,
Release|Win32, Release|x64 but not Release|ARM64. MSBuild fell through
to the ItemDefinitionGroup default of Use, tried to open a PCH that
was never generated, and all four TUs failed with C1083.
dllmain.cpp also lacked the empty-PrecompiledHeader override for
Release|ARM64 (disabling PCH for that TU), inconsistent with the
other three platforms where it deliberately does not use the PCH.
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
- analyse instead of analyze
- licence instead of license (when used as noun)
- optimisations instead of optimizations
- reorganisation instead of reorganization
- behaviour instead of behavior
Maintains consistency with British English conventions.