Jellyfin for Windows collects the tray application, service utilities, and NSIS installer that are used when setting up and running Jellyfin.
Are you looking to just run and setup Jellyfin on your Windows machine? Go to https://jellyfin.org/downloads and get the Windows stable release.
Do you want to build Jellyfin's tray app or installer for yourself? Read on!
dotnet build -c Release -f net472
Jellyfin.Windows.Tray.exe
and all the DLLs within.jellyfin-windows-tray
.The tray app is designed to do three things:
To control Jellyfin, it expects that either Jellyfin is installed as a service, or that a corresponding set of registry keys has been set by the installer.
The registry entries look like the following in a typical install:
Location: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Jellyfin\Server |
Name | Type | Data |
---|---|---|---|
DataFolder | REG_EXPAND_SZ | C:\ProgramData\Jellyfin\Server | |
InstallFolder | REG_EXPAND_SZ | C:\Program Files\Jellyfin\Server | |
ServiceAccountType | REG_SZ | None |
jellyfin.exe
can be found.If you want to quickly import these default paths, you can use Jellyfin Registry.reg
in the Support Files
folder to do so.
When the tray app is started, it will check if Jellyfin is installed as a service with the name JellyfinServer
, and if located it will start the service (unless it is already running). If the server is not installed as a service, it will look to the registry for the location of the config files and executable, and launch the executable with the data folder path as an argument. If the registry keys are not found, it will close with an error that an installation was not located.
To open the Web UI, the app will look for a network config in the DataFolder, and open the user's default browser to the path. To open the Log Folder, the app will launch Windows Explorer to the DataFolder path, appending \Log
to the end.
If you choose to build Jellyfin server on your own, you will also require:
Ensure that a complete copy of Jellyfin Server is available in a folder. If using the combined package from above, proceed to the next step.
jellyfin-ffmpeg
or equivalent in the same folder as the server binary. You need to add ffmpeg.exe
and ffprobe.exe
alongside jellyfin.exe
.Copy the GPLv2 License file either from their website, or the Support Files
folder, and place it in the same directory as the server. Ensure that it is named LICENSE
with no extension.
Copy the contents of the compiled tray app (including its DLLs) into the folder with the server. If there is a duplicate DLL, skip it. We only need to add anything that isn't already included.
Download a copy of the jellyfin-ux
repository, or at least have the following files at a path ending with \branding\NSIS\
:
Install NSIS if not already available. Be sure to select a Full install.
Open Powershell. Set the environment variable InstallLocation
to the folder where Jellyfin Server is available.
$env:InstallLocation = "C:\Users\Anthony\Downloads\jellyfin_10.7.7"
Go to the directory where NSIS is installed. In most systems, this is at C:\Program Files (x86)
.
cd 'C:\Program Files (x86)\NSIS'
.Run the following command, substituting the path to your jellyfin-ux
files and the NSIS script from this repository:
.\makensis /Dx64 /DUXPATH=C:\Users\Anthony\Downloads\jellyfin-ux-master "C:\Users\Anthony\Downloads\jellyfin-server-windows\nsis\jellyfin.nsi"
Wait for the installer to build. When complete, it will be located next to the NSIS script file. It is now ready to be used.
If you have any questions or encounter any problems, please open an issue in this repository, or reach out to @anthonylavado on Matrix/Discord/IRC.