Run from the repository root:
.\build\main.ps1.\build.ps1 forwards to the same script.
Default behavior:
- Builds for the current machine architecture when not specified.
- Builds components in sequence: cli, shims, sync.exe, Inno Setup.
- Unsigned. No SBOM / SLSA / ADMX / worker DLL compile.
- Sync worker DLLs are not built here (certified CDN).
Builds write executables to .\bin and the installer to .\.dist.
Allowed: amd64, arm64. Omit to auto-detect.
.\build\main.ps1 -Architecture amd64All (default), Cli, Shims, or Sync. Installer runs only for All.
Build binaries only (skip Inno Setup).
Override output directory (default .\bin).
- 0: success
- non-zero: first failed step (script stops)
Successful full build:
bin\nvm.exebin\.shim\node.exebin\utils\proxy.exe,reshim.exe,sync.exe.dist\nvm-<version>-x64-setup.exeor.dist\nvm-<version>-arm64-setup.exe(-Architecture amd64writesx64)
- Installer fails: confirm
cli/src/manifest.jsonhasversion,appUserModelId,appId, and Inno Setup 6.7.1+ (ISCC.exe) is installed. - Sync build fails on
enhanced/: community script rewritessync/src/go.modfor the stubcommon/mirrorauthduring the build and restores it after. Do not commit a dirtysync/src/go.mod. - CI: see build/README.md.