lurelockv1.0

Building from source

route: source → exe time: ~10 minutes output: single x64 exe

The project contains no hidden build farm. The same publish command produces the exe that the release ships, and the entire pipeline runs on plain Windows with the .NET SDK.

01Requirements

  • Windows 10/11, x64
  • .NET 8/9/10 SDK (the app targets .NET 6, which any recent SDK can build)
  • git (to check out the repo)
  • Internet once, to restore the NuGet packages and the self-contained runtime

02Layout

lurelock/
├─ src/                     the application (WPF, C#)
│  ├─ Bloxstrap/            the app project (internal ns kept for compat)
│  │  ├─ .csproj → Lurelock.exe
│  │  ├─ Lurelock.ico       the app icon
│  │  └─ Resources/Strings.*.resx
│  ├─ wpfui/                vendored WPF-Fluent UI library (MIT)
│  └─ LICENSE, README       upstream MIT notices
├─ site/                    this website + the dev docs
├─ dist/                    build output (gitignored)
└─ LICENSE, NOTICE.md       repo-wide license + attributions

03Building

The desktop shell is a WPF application (the same engine Bloxstrap is built on), with the iOS-style Fluent UI from the vendored wpfui library. This publish produces one self-contained executable that runs without any runtime install:

# from the repo root
dotnet publish src\Bloxstrap\Bloxstrap.csproj -c Release -r win-x64 `
  --self-contained true `
  -p:PublishSingleFile=true `
  -p:IncludeNativeLibrariesForSelfExtract=true `
  -p:IncludeAllContentForSelfExtract=true `
  -o dist\Lurelock

Output lands in dist/Lurelock/Lurelock.exe as a single self-contained file (~160 MB — the .NET runtime is bundled so the exe runs on any Windows 10/11 machine).

04Verifying

To confirm your build matches the published one:

certutil -hashfile dist\Lurelock\Lurelock.exe SHA256

Compare to the release notes. A discrepancy usually means the published exe was built from a different commit — check the release's build hash line.

05Platform notes

  • Windows x64 is the only shipped target.
  • The app’s internals retain the upstream Bloxstrap namespace and resource names for compatibility; none of that is visible to users. See /dev/legal for the licensing story.
  • The exe is unsigned. See the FAQ on SmartScreen.