Skip to content

Replace the packaged 32-bit updater with the signed x64 build from vicius v1.16.1 - #174

Merged
nefarius merged 2 commits into
masterfrom
fix/updater-x64-1.16.1
Sep 19, 2026
Merged

nefarius merged 2 commits into
masterfrom
fix/updater-x64-1.16.1

Conversation

@nefarius

@nefarius nefarius commented Sep 19, 2026 •

Copy link
Copy Markdown
Owner

Problem

master packages a 32-bit updater. Commit 72ffcfc bundled the executable from the vicius v1.16.0 release, but that release was broken: all three build architectures produce an identically named example_Demo_Updater.exe, they were uploaded as loose release assets, and GitHub's flat asset namespace collapsed them onto one name. The x86 build won the upload race, so the "v1.16.0 updater" was an i386 image.

Verified against the file currently on master:

arch      : i386 (32-bit)
version   : 1.16.0.0
sha256    : 948b03d20855de7708803e2f58ce91cb85c7edec78bae933207b4003e5e27147

vicius v1.16.0 has since been withdrawn, and v1.16.1 replaces it with architecture-specific archives plus a CI guard that reads each executable's PE machine type and refuses to publish a mismatch (nefarius/vicius#209).

No shipped installer is affected. The newest release, setup-v2.17.0, predates 72ffcfc by well over a year, so this never reached users.

Change

BthPS3Installer/nefarius_BthPS3_Updater.exe is replaced with the x64 UPX-packed executable from vicius-x64.zip of v1.16.1. The x64 build runs correctly under ARM64 emulation, so a single binary still covers both installer targets and no per-architecture layout is needed.

arch      : AMD64
version   : 1.16.1.0
signature : Valid (CN=Nefarius Software Solutions e.U.)
sha256    : 1fbf3b4aea4327958e00a8739bd7d30d8777470526a9529941e9f7065204f8e9

That hash is byte-identical to the asset downloaded from the release, not a local rebuild. The LFS pointer committed here records the same oid.

A second commit gitignores setup.inf and setup.rpt. build/SetupRelease.Tests.ps1 builds a cabinet fixture and makecab writes those two files into the working directory, so running the suite leaves untracked files in the repository root. The /Setup/ equivalents were already ignored.

Verification

  • The renamed binary still satisfies vicius' NV_FILENAME_REGEX, resolving nefarius/BthPS3 for the update URL — a rename that broke this would silently send the updater to the wrong endpoint.
  • build/SetupRelease.Tests.ps1 passes.
  • Assert-BthPS3NoGitLfsPointers passes against the real working tree, all 5 LFS-tracked payload binaries materialised (not pointer stubs).

Summary by CodeRabbit

  • Chores
    • Updated repository ignore rules to exclude generated setup files from version control.

nefarius and others added 2 commits September 19, 2026 19:16
….16.1.

The updater bundled in 72ffcfc came from the vicius v1.16.0 release, which
published a 32-bit binary under an architecture-neutral asset name because
all three build architectures collapsed onto the same release asset. The
packaged nefarius_BthPS3_Updater.exe was therefore an i386 image.

v1.16.0 has been withdrawn. This is the x64 UPX-packed executable from
vicius v1.16.1, which ships architecture-specific archives; it is
byte-identical to example_Demo_Updater_packed.exe in vicius-x64.zip
(sha256 1fbf3b4aea4327958e00a8739bd7d30d8777470526a9529941e9f7065204f8e9)
and Authenticode signed. The x64 build also runs fine under ARM64
emulation, so one binary still covers both installer targets.

Co-authored-by: Cursor <cursoragent@cursor.com>
build/SetupRelease.Tests.ps1 builds a cabinet fixture, and makecab writes
setup.inf and setup.rpt into the working directory, so running the suite
leaves two untracked files in the repository root. /Setup/setup.inf and
/Setup/setup.rpt were already ignored for the Advanced Installer directory;
this covers the root-level copies.

Co-authored-by: Cursor <cursoragent@cursor.com>
@coderabbitai

coderabbitai Bot commented Sep 19, 2026 •

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: 84df1e77-8523-4d5a-a6cb-265e70634646

📥 Commits

Reviewing files that changed from the base of the PR and between 78022f7 and 9f3b7f4.

⛔ Files ignored due to path filters (1)
  • BthPS3Installer/nefarius_BthPS3_Updater.exe is excluded by !**/*.exe
📒 Files selected for processing (1)
  • .gitignore

Included review availability: Your plan provides up to 10 included reviews per hour; 3 remain after this review.


📝 Walkthrough

Walkthrough

The .gitignore file now excludes root-level setup.inf and setup.rpt files generated by the makecab fixture workflow.

Changes

Makecab fixture output handling

Layer / File(s) Summary
Ignore generated outputs
.gitignore
Adds rules for root-level setup.inf and setup.rpt files.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~2 minutes

Change: Bug fix

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: replacing the packaged 32-bit updater with the signed x64 build from vicius v1.16.1.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

A rabbit checks the buildroom floor
setup.inf hides by the door
setup.rpt leaves no trace
The ignore rules keep their place
Clean files hop through every run

Comment @coderabbitai help to get the list of available commands.

@nefarius
nefarius merged commit 401ee48 into master Sep 19, 2026
6 checks passed
@nefarius
nefarius deleted the fix/updater-x64-1.16.1 branch September 19, 2026 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant