.NET 8 Runtime Requirements
SBN Services and the current SBN web products run on Microsoft .NET 8. The matching .NET 8 runtime must be installed on the host before the software will start — the products do not include the runtime themselves. Install it once per host; it is a free download from Microsoft.
What to install
Host runs… | Install this |
|---|---|
SBN Services (the Windows services and their dashboard) | ASP.NET Core 8 Runtime (x64) |
APIEngine or SRM.Web (hosted in IIS) | .NET 8 Hosting Bundle |
The ASP.NET Core 8 Runtime already includes the base .NET 8 runtime, so a single install covers a full SBN Services host — the services and the dashboard together.
**You do not need the .NET 8 Desktop Runtime.** Current SBN Services do not use it. If an older setup guide had you install it, you can leave it in place — it simply won't be used — or remove it. It is not required.
Always install the Runtime (not the SDK), and use the 64-bit (x64) package.
Where to download
From Microsoft's .NET 8 downloads page — https://dotnet.microsoft.com/download/dotnet/8.0 — choose:
- ASP.NET Core Runtime 8.0.x → Windows x64 — for an SBN Services host.
- .NET 8 Hosting Bundle (under "Windows" / "IIS") — for an APIEngine or SRM.Web host. Run
iisresetafter installing it.
Installers can install it for you
Every current installer checks for the .NET 8 runtime and can install it for you, interactively.
Host | Question |
|---|---|
APIEngine or SRM.Web (IIS) |
|
SBN Services or SBN-Search (Kestrel), or any Linux host |
|
Answer Y (the default) to install it and continue. On Windows, the installer tries winget first; if winget is not available or does not complete it, the installer downloads Microsoft’s official installer, checks it against its published SHA-512 hash before running it, and - for the Hosting Bundle - restarts IIS afterward so it picks up the new module. On Linux, the installer tries the distribution’s aspnetcore-runtime-8.0 package through apt first, then the Microsoft package feed, then dnf, then zypper, and falls back to Microsoft’s dotnet-install.sh script if none of those install it.
Unattended installs
A run with no operator to ask - unattended, quick-install, an answer file, or no console attached - never installs the runtime for you. It stops with exit code 13 and prints the exact command to run: to the run log always, and to the console too when one is attached. Run that command, then re-run the installer. On Linux, APIEngine’s installer also checks for Apache with the proxy, proxy_http, ssl and headers modules the same way, advising sudo apt-get install -y apache2 and sudo a2enmod proxy proxy_http ssl headers and stopping with exit code 13 when they are missing.
How to confirm it's installed
Open a command prompt and run:
You should see lines for both of these at version 8.0.x:
If either is missing, install the package above and check again.
If a service won't start and its log is empty
The most common cause is a missing .NET 8 runtime on the host — a service started this way can stop responding with nothing written to its log. Install the ASP.NET Core 8 Runtime (above), confirm it with dotnet --list-runtimes, then start the service again.
Older SBN releases (v95 and earlier) use .NET Framework 4.8, which is already part of Windows — the download above applies only to the current .NET 8 products.