Skip to content

install.ps1 rejects v0.9.0 windows-arm64 UI archive: 'archive must contain exactly one codebase-memory-mcp.payload.exe' #1257

Description

@skbs-eng

Title

install.ps1 rejects v0.9.0 codebase-memory-mcp-ui-windows-arm64.zip — "archive must contain exactly one codebase-memory-mcp.payload.exe"

Environment

  • OS: Windows 11 on ARM64
  • Installer: install.ps1 from main branch (raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.ps1)
  • Release: v0.9.0 (latest)
  • Command:
    Invoke-WebRequest -Uri https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.ps1 -OutFile install.ps1
    Unblock-File .\install.ps1
    .\install.ps1 --ui --skip-config

Output

codebase-memory-mcp installer (Windows)
  variant: ui
  arch:    arm64
  target:  C:\Users\srini\AppData\Local\Programs\codebase-memory-mcp\codebase-memory-mcp.exe

Downloading codebase-memory-mcp-ui-windows-arm64.zip...
Checksum verified.
error: unsafe or incomplete release archive: archive must contain exactly one codebase-memory-mcp.payload.exe

Expected

Archive passes layout validation, installer stages the binary and the bundled install.ps1 to the target directory, and exits 0.

Actual

Installer exits non-zero after the layout check. The downloaded archive contents are:

codebase-memory-mcp.exe      274,818,560 bytes
install.ps1                       6,450 bytes
LICENSE                           1,128 bytes
THIRD_PARTY_NOTICES.md          570,451 bytes

I confirmed the windows-amd64 UI archive has the same flat layout (codebase-memory-mcp.exe at the root, not *.payload.exe), so this is consistent across Windows builds, not specific to ARM64.

Root cause (observed)

The installer archive-layout check expects a *.payload.exe wrapper, but the actual release zips for v0.9.0 Windows builds do not contain that wrapper — only a flat codebase-memory-mcp.exe. The checksum itself passes; the failure is purely the layout assertion.

Workaround

--skip-config is already requested, so manually extracting the archive into %LOCALAPPDATA%\Programs\codebase-memory-mcp\ and launching codebase-memory-mcp.exe --ui=true --port=9749 works fine. The binary itself is healthy (0/72 on VirusTotal, UI responds 200 on http://localhost:9749).

Suggested fix

Either:

  1. Update the layout check in install.ps1 to accept codebase-memory-mcp.exe (or codebase-memory-mcp-ui.exe) at the archive root as a valid Windows layout, or
  2. Rebuild the Windows release zips to include the *.payload.exe wrapper that the current check requires.

Option 1 is preferable — the wrapper name appears to be a leftover from a self-extracting-installer design and adds no value when the binary is already static.

SHA-256

  • windows-arm64 binary from release page: a299150de19bb4da9a880a6139757076bd4139b2f6a7e7cf31bdd431d53aed9c
  • installer-printed SHA matched the downloaded archive before the layout check rejected it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingeditor/integrationEditor compatibility and CLI integrationpriority/highNeeds near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker.ux/behaviorDisplay bugs, docs, adoption UXwindowsWindows-specific issues

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions