Skip to content

Windows install script throws "Only Windows x64 has a prebuilt Wayfinder bundle" on genuine x64 machines when run in an interactive session #98

Description

@henrique-auler

Windows install script throws "Only Windows x64 has a prebuilt Wayfinder bundle" on genuine x64 machines when run in an interactive session

What happened

Running irm https://raw.githubusercontent.com/conceptadev/wayfinder/main/tool/install.ps1 | iex in a normal (profile-loaded) interactive Windows PowerShell 5.1 session failed with:

Only Windows x64 has a prebuilt Wayfinder bundle.
At line:35 char:5
+     throw 'Only Windows x64 has a prebuilt Wayfinder bundle.'

despite the machine being genuine x64 hardware and OS (confirmed via Settings > System > About: AMD Ryzen 7 7800X3D, Windows 11 Home 25H2, "64-bit operating system, x64-based processor"). Root-caused to [System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture silently returning $null in that interactive session (no exception thrown — just an empty value), causing the script's -ne 'X64' check to evaluate true and hit the throw. The same call resolved correctly to X64 when the identical script was run via powershell.exe -NoProfile -Command "...". Cause of the interactive-only null was not isolated — profile scripts (all 4 paths), PSReadLine, and execution/language mode were each checked and ruled out.

Expected

The installer should either succeed on a confirmed x64 Windows machine, or fail with a diagnostic that distinguishes "could not determine architecture" from "architecture is confirmed non-x64" — the current message is misleading when the true cause is an environment quirk rather than an actual unsupported CPU.

Steps to reproduce

  1. On a genuine Windows x64 machine, open a normal interactive Windows PowerShell 5.1 session (profile loaded as usual).
  2. Run: irm https://raw.githubusercontent.com/conceptadev/wayfinder/main/tool/install.ps1 | iex
  3. Observe the throw 'Only Windows x64 has a prebuilt Wayfinder bundle.' error, even though the OS/hardware is x64.
  4. Compare against running the same script via powershell.exe -NoProfile -Command "irm ... | iex", which completes successfully.

Area / repo

conceptadev/wayfinder — tool/install.ps1

Acceptance criteria

  • Investigate why [System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture can return $null in an interactive PowerShell 5.1 session on some machines, while working correctly with -NoProfile -Command
  • Add a fallback architecture check (e.g. $env:PROCESSOR_ARCHITECTURE, [Environment]::Is64BitOperatingSystem) if the primary check returns null/empty, rather than treating null as "not X64"
  • Update the thrown error message to differentiate a confirmed non-x64 architecture from an indeterminate/null result
  • Document the -NoProfile workaround in install troubleshooting docs for users who hit this

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingneeds-triageNot yet evaluated — a maintainer needs to sort it

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions