Installs and manages the audiobookshelf server on Windows.
It installs the latest released version of the server itself (pre-packaged as a Windows executable), and a tray app for managing it. The tray app runs in the background, and can be accessed by clicking the Audiobookshelf tray icon () in the system tray (bottom right corner of the screen).
The tray app lets you:
- Open the server in your default browser
- Start/Stop the server
- Set the server to start on login
- View the server logs
- Change the server port and data folder
- Check for updates, download and install them
Audiobookshelf-windows releases are automatically kept up to date with the latest audiobookshelf server releases.
- Windows 10 64-bit or later
You do not need to install .NET Framework, as it is included in any Windows 10 installation.
You do not need to install Node.js, as the server executable is pre-packaged with it.
Download the latest installer release from the release page and run it.
- It's not currently possible to migrate the server data from a previous Windows Docker installation to this one (see this issue)
All development was done on a Windows 10 64-bit desktop.
The tray app was developed in C# using .NET Framework 4.6.1 and Winforms. It was based on the audiobookshelf-win codebase by advplyr.
The installer was developed using Inno Setup.
- Install Node.js 20 (Must be version 20)
- Optional: install nvm-windows to manage multiple Node.js versions
- Install Visual Studio Code
- Clone the audiobookshelf Github repository
- Open the
audiobookshelf
folder in Visual Studio Code - Open the terminal (Ctrl+Shift+`)
- Run
npm ci
to install the dependencies - Run
npm i @yao-pkg/pkg -g
to install the yao-pkg (Node.js to executable) package. Yao-pkg is a fork of the original pkg package, which is no longer maintained. - Run
npm run build-win
to build the audiobookshelf server executable (it will be placed in thedist\win
folder)
The tray app can be built using either Visual Studio 2022 or Visual Studio Code.
- If you need to make design changes to the UI, it's recommended to use Visual Studio 2022, as it has a visual designer for Winforms.
- It's convenient to use Visual Studio 2022 since it has a built-in debug console, in which you can see Debeug.WriteLine() messages.
- If you only need to make code changes, you can use Visual Studio Code.
- Install Visual Studio 2022 Community Edition
- Install the .NET Desktop Development workload
- Clone this repository
- Open the
Audiobookshelf.sln
solution file in Visual Studio - Build the solution (F6) (you will find the executable in the
bin\x64\Release\net461
orbin\x64\Debug\net461
folder, depending on the build configuration)
- Install Visual Studio Code
- Install the C# Dev Kit
- Install the latest .NET SDK
- Clone this repository
- Open the terminal (Ctrl+Shift+`)
- Run
dotnet build -c Release
ordotnet build
to build the solution (you will find the executable in thebin\x64\Release\net461
orbin\x64\Debug\net461
folder, depending on the build configuration)
You can run or debug the tray app directly from Visual Studio 2022 or Visual Studio Code.
- Copy the audiobookshelf server executable to the
bin\x64\Release\net461
orbin\x64\Debug\net461
folder, depending on the build configuration - The app tries to read the
AppVersion
andDataDir
values from the registry keyHKEY_CURRENT_USER\SOFTWARE\Audiobookshelf
, and if they are not found, it will use the default values - Run or debug the app (F5). By default, the app will:
- try to get the server data folder from the registry key
HKEY_CURRENT_USER\SOFTWARE\Audiobookshelf\DataDir
- if not found, the default value
%LocalAppData%\Audiobookshelf
will be used
- if not found, the default value
- try to get the app version from the registry key
HKEY_CURRENT_USER\SOFTWARE\Audiobookshelf\AppVersion
- run the server on port 13378 by default
- try to get the server data folder from the registry key
- Install Visual Studio Code
- Install Inno Setup
- Install the Inno Setup extension for Visual Studio Code
- Clone this repository
- Open
Setup\installer.iss
in Visual Studio Code - Change
#define MyAppBinDir
to the folder where the Audiobookshelf tray app executable and dlls are located - Change
#define ServerBinDir
to the folder where the Audiobookshelf server executable is located - Run the
Build Installer
task (Ctrl+Shift+B) to build the installer (you will find it in theSetup\Output
folder)