Skip to content

install.ps1 for Windows #61

Closed
Closed

Description

@dataGriff

Why

install.sh covers Linux and macOS with checksum verification. Windows users without Scoop or winget have no equivalent and are pointed at a manual zip download.

What

  • install.ps1 at the repo root: resolves the latest tag (or $env:APIC_VERSION), downloads the windows_amd64/windows_arm64 zip, verifies SHA-256 against checksums.txt and refuses on mismatch, extracts apic.exe into $env:APIC_INSTALL_DIR (default $env:LOCALAPPDATA\Programs\apic), adds the directory to the user PATH when missing (with a message), prints apic version.
  • One-liner for the docs: irm https://raw.githubusercontent.com/dataGriff/api-caller/main/install.ps1 | iex.
  • Same archive naming contract as install.sh (AGENTS.md Releasing notes that changing archives.name_template breaks both).

Where

install.ps1, README.md, docs/getting-started.md, docs/index.md, docs/faq.md, AGENTS.md.

Tests

A windows-latest CI job runs the script against the latest release (or a snapshot served from a local HTTP server) and checks apic version; a tampered checksum case must fail.

Activity

  1. dataGriff commented on Sep 25, 2026

    @dataGriff
    OwnerAuthor

    Done in #117 (commits 2abac2b and 08536f6), merged as f871db1.

    irm https://raw.githubusercontent.com/dataGriff/api-caller/main/install.ps1 | iex

    • What it does: verifies against checksums.txt and refuses to install on a mismatch or a missing entry.
    • Environment variables:
      • APIC_VERSION pins a release;
      • APIC_INSTALL_DIR sets the install directory (default %LOCALAPPDATA%\Programs\apic);
      • APIC_NO_MODIFY_PATH=1 leaves PATH alone;
      • APIC_DOWNLOAD_BASE points at a mirror.
    • Compatibility: works in Windows PowerShell 5.1 and PowerShell 7.
    • CI: action-test.yml runs it against:
      • the latest release, in both shells;
      • a local mirror serving a build of the branch;
      • a tampered checksum, which must be refused with nothing written.

    Generated by Claude Code

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions