-
-
Notifications
You must be signed in to change notification settings - Fork 60
Runtime Dependencies
Sucrose ships almost everything it needs, but a few wallpaper engines depend on Microsoft runtimes that may already be on your system. This page lists every runtime dependency, which engine or component needs it, the exact minimum version, the download link, and how Sucrose can install it for you automatically. For the broader system specs, see System-Requirements.
- Summary table
- .NET runtime (bundled)
- .NET Framework 4.8 (installer only)
- Microsoft Edge WebView2 runtime
- Visual C++ Redistributable
- Windows 10 1607 (MpvPlayer)
- libVLC (VlcPlayer)
- OS media codecs (Nebula)
- Auto-download prompts
| Dependency | Needed by | Minimum version | Bundled / auto-install | Link |
|---|---|---|---|---|
| .NET 10 runtime | The whole app (all engines/services) |
10.0.9 (trimmed private runtime) |
Bundled as Sucrose.Runtime — no system install needed |
— |
| .NET Framework 4.8 | The Bundle installer .exe only |
4.8.0.20220524 (Chocolatey dep) |
Required to run the installer | https://dotnet.microsoft.com/en-us/download/dotnet-framework/net48 |
| Edge WebView2 runtime |
Sucrose.Live.WebView engine |
131.0.2903.70 |
Auto-download offered | https://go.microsoft.com/fwlink/p/?LinkId=2124703 |
| Visual C++ Redistributable |
Sucrose.Live.CefSharp engine |
14.40.33816.0 |
Auto-download offered | https://aka.ms/vc14/vc_redist.<arch>.exe |
| Windows 10 1607 (Redstone 1) |
Sucrose.Live.MpvPlayer engine |
Windows 10 build 1607 | OS update | Windows Update |
| libVLC (bundled) |
Sucrose.Live.VlcPlayer engine |
(bundled libVLC) | Bundled per architecture — no system install needed | — |
| OS media codecs |
Sucrose.Live.Nebula engine |
Whatever your format needs | Already part of Windows / user-installed | — |
The Sucrose application targets .NET 10.0-windows, but you do not need a system-wide .NET install. The default publish is framework-dependent yet ships a trimmed private runtime in a Sucrose.Runtime folder next to the app, and every executable is configured to probe it (AppHostDotnetRoot=..\Sucrose.Runtime). The publish pipeline installs the .NET SDK 10.0.109 and trims it down to the Microsoft.NETCore.App and Microsoft.WindowsDesktop.App shared frameworks (the .NET runtime, version 10.0.9) the WPF apps need.
This means:
- A clean Windows machine with no .NET installed can run Sucrose.
- The private runtime lives under
%LocalAppData%\Sucrose\Sucrose.Runtime. See Data-Locations. - The CefSharp browser subprocess is given a custom
runtimeconfig.jsonso it also probes the private runtime. See Engine-CefSharp and Publish-Pipeline.
If you build a fully standalone copy (-SelfContained true in the publish script), the app does not rely on Sucrose.Runtime at all. See Building-From-Source.
The Bundle installer (Sucrose_Bundle_.NET_Framework_4.8_<arch>_<version>.exe) is itself a .NET Framework 4.8 application — it is the only part of Sucrose that needs the classic .NET Framework. Modern Windows 10/11 includes .NET Framework 4.8, so this is rarely a problem; the Chocolatey package nonetheless declares a hard dependency dotnetfx >= 4.8.0.20220524.
If the installer won't launch, install .NET Framework 4.8 from https://dotnet.microsoft.com/en-us/download/dotnet-framework/net48 and run the installer again. The installed application (post-install) does not use .NET Framework — it uses the bundled .NET 10 runtime described above. See Installation and Bundle-Installer-Internals.
The WebView engine (Sucrose.Live.WebView) is built on the evergreen Microsoft Edge WebView2 runtime and requires version 131.0.2903.70 or newer.
- On launch, the engine calls
CoreWebView2Environment.GetAvailableBrowserVersionString(). If WebView2 is missing or older than the minimum, it shows a dialog with Continue / Download / Remember / Close. -
Download fetches the WebView2 bootstrapper from
https://go.microsoft.com/fwlink/p/?LinkId=2124703and runs it — launched with no command-line switches, so the bootstrapper installs with its own progress UI rather than fully silently. - Remember snoozes the prompt for one day.
WebView is the default fallback you can switch to if CefSharp's VC++ requirement is a problem, since it covers Gif, Url, Web, Video, and YouTube. See Engine-WebView, Type-Web, and Type-Url.
The CefSharp engine (Sucrose.Live.CefSharp) — the default engine for Url, Web, and YouTube — requires the Microsoft Visual C++ Redistributable version 14.40.33816.0 or newer.
- On launch, the engine reads the installed VC++ runtime version from the registry (
SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\{x86|x64|ARM64}). If it's missing or too old, it shows a Continue / Download / Remember / Close dialog. -
Download fetches
VC_redist.<arch>.exefromhttps://aka.ms/vc14/vc_redist.<arch>.exe.
If you can't install the VC++ runtime, switch the Url/Web/YouTube engine to WebView as a workaround (Settings → Wallpaper). See Engine-CefSharp and Choosing-Engines.
The MpvPlayer engine (Sucrose.Live.MpvPlayer) — the default engine for Gif and Video — bundles its own libmpv-<arch>.dll, so it needs no external media install. However, it runs a pre-launch OS check (IsRedstone1) requiring Windows 10 Anniversary Update (version 1607 / Redstone 1) or newer. On older Windows it shows a warning and closes.
If you're on an older build and can't update Windows, switch the Gif/Video engine to a non-mpv option (Vexana/Xavier/WebView/CefSharp/VlcPlayer for GIF; Nebula/WebView/CefSharp/VlcPlayer for video). See Engine-MpvPlayer.
The VlcPlayer engine (Sucrose.Live.VlcPlayer) is built on libVLC via LibVLCSharp and bundles its own native libVLC binaries (VideoLAN.LibVLC.Windows), one per architecture (x86/x64/ARM64). Like MpvPlayer's bundled libmpv, this means no external install — and unlike MpvPlayer there is no minimum-Windows-version check and no auto-download prompt. See Engine-VlcPlayer.
The Nebula engine (Sucrose.Live.Nebula) uses the WPF MediaElement, which relies on the Windows media stack (Media Foundation / DirectShow) and the codecs installed on your system. Formats Windows can't decode won't play under Nebula. The MpvPlayer engine, which ships libmpv, is far more format-robust — use it if a video format won't play in Nebula. See Engine-Nebula and Type-Video.
When an engine detects a missing or outdated dependency it can resolve, it shows a four-button dialog:
| Button | Effect |
|---|---|
| Continue | Try to run anyway (may fail to render) |
| Download | Fetch and run the dependency installer (WebView2 bootstrapper or VC_redist). The installer is launched with no command-line switches, so VC_redist shows its normal interactive installer UI (the WebView2 bootstrapper installs with little or no wizard). |
| Remember | Snooze the prompt (WebView snoozes one day) |
| Close | Close the engine without rendering |
These prompts come only from the WebView and CefSharp engines (for WebView2 and VC++ respectively). The MpvPlayer OS check shows a warning box with no auto-fix (you must update Windows); the VlcPlayer engine bundles libVLC and shows neither a prompt nor an OS check. Other engines (Nebula, Vexana, Xavier, Aurora) are pure managed/WPF and have no external runtime prompt. See Engines-Overview and Troubleshooting-Common.
Getting Started
- Installation
- System Requirements
- Quick Start
- Portal Interface Tour
- Updating Sucrose
- Uninstalling Sucrose
Wallpaper Types
Using Sucrose
- Managing Library
- Using Store
- Customizing Wallpaper
- Multi-Monitor
- Wallpaper Cycling
- Choosing Engines
- Performance Rules
- Theme, Tray & Startup
- Discord Rich Presence
Settings Reference
- Settings Overview
- Settings: General
- Settings: Personal
- Settings: Performance
- Settings: Wallpaper
- Settings: System
- Settings: Other
- Settings: All Keys
Creating Wallpapers
- Create Overview
- Create: Step By Step
- Create: Package Format
- Create: Customization Controls
- Create: JS Bridge
- Create: Audio API
- Create: System API
- Create: Property Listener & Filters
- Create: Web Architecture
- Create: Compatibility
- Create: Example Wallpapers
- Create: Sharing & Publishing
Engine Reference
- Engines Overview
- Engine: MpvPlayer
- Engine: VlcPlayer
- Engine: WebView
- Engine: CefSharp
- Engine: Nebula
- Engine: Vexana
- Engine: Xavier
- Engine: Aurora
- Engine Comparison
Automation & Command Line
Architecture & Internals
- Architecture Overview
- Lifecycle
- Commandog Dispatcher
- Single-Instance Mutexes
- IPC
- Backgroundog Service
- Crash Reporting
- Update Internals
- Property Service
- Undo Internals
Data, Files & Diagnostics
Building & Contributing
- Building From Source
- Repository Layout
- Shared Item Projects
- Code Conventions
- Preprocessor Symbols
- Publish Pipeline
- Bundle Installer Internals
- Extending Sucrose
- Contributing
- Translating with Localizer
- Localization Coverage
- Security Policy
- Privacy & Telemetry
Help & Support