rocksdanister/lively · error · MsixNotAllowedException
Program wallpaper on MSIX package not allowed.
Error message
Program wallpaper on MSIX package not allowed.
What it means
Thrown by CreateWallpaper for WallpaperType.app, bizhawk, unity, unityaudio, or godot when PackageUtil.IsRunningAsPackaged is true. MSIX installs run inside an AppContainer sandbox that forbids launching arbitrary external .exe wallpapers, so the factory refuses to start them. The gate is by install/packaging type, not by Windows version.
Source
Thrown at src/Lively/Lively/Factories/WallpaperPluginFactory.cs:163
return new VideoMpvPlayer(model.FilePath,
model,
display,
lpFactory.CreateLivelyPropertyFolder(model, display, arrangement, userSettings),
userSettings.Settings.VideoPlayerHwAccel,
isWindowed: isWindowed,
userSettings.Settings.VideoTargetColorSpaceMode);
case LivelyPicturePlayer.wmf:
return new VideoWmfProcess(model.FilePath, model, display, 0, userSettings.Settings.WallpaperScaling);
}
break;
case WallpaperType.app:
case WallpaperType.bizhawk:
case WallpaperType.unity:
case WallpaperType.unityaudio:
case WallpaperType.godot:
if (PackageUtil.IsRunningAsPackaged)
{
throw new MsixNotAllowedException("Program wallpaper on MSIX package not allowed.");
}
else
{
return new ExtPrograms(model.FilePath, model, display,
userSettings.Settings.WallpaperWaitTime);
}
case WallpaperType.videostream:
if (File.Exists(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "plugins", "mpv", "youtube-dl.exe")))
{
return new VideoMpvPlayer(model.FilePath,
model,
display,
lpFactory.CreateLivelyPropertyFolder(model, display, arrangement, userSettings),
userSettings.Settings.VideoPlayerHwAccel,
isWindowed: isWindowed,
userSettings.Settings.VideoTargetColorSpaceMode,
userSettings.Settings.StreamQuality);
}View on GitHub (pinned to c1036feb66)
Solutions
- Install the classic non-MSIX desktop build of Lively to run program wallpapers.
- If shipping the MSIX build, disable the 'add program wallpaper' UI when PackageUtil.IsRunningAsPackaged and show an explanatory message.
- For Unity/Godot wallpapers, repackage them as web wallpapers instead.
Example fix
// before
if (PackageUtil.IsRunningAsPackaged)
throw new MsixNotAllowedException("Program wallpaper on MSIX package not allowed.");
// after: surface the limitation in the UI before the user picks the file
if (PackageUtil.IsRunningAsPackaged)
{
DialogService.Warn(Properties.Resources.MsixProgramWallpaperUnsupported);
return null;
} Defensive patterns
Strategy: validation
Validate before calling
static bool IsProgramWallpaperAllowed(LibraryModel model) =>
!(PackageUtil.IsRunningAsPackaged &&
(model.LivelyInfo.Type == WallpaperType.app ||
model.LivelyInfo.Type == WallpaperType.bizhawk ||
model.LivelyInfo.Type == WallpaperType.unity ||
model.LivelyInfo.Type == WallpaperType.unityaudio ||
model.LivelyInfo.Type == WallpaperType.godot));
// use before creating:
if (!IsProgramWallpaperAllowed(model))
DialogService.Warn(Properties.Resources.MsixProgramWallpaperUnsupported); Type guard
static bool IsProgramWallpaperType(LibraryModel m) =>
m.LivelyInfo.Type is WallpaperType.app or WallpaperType.bizhawk
or WallpaperType.unity or WallpaperType.unityaudio or WallpaperType.godot; Try / catch
try
{
var wp = factory.CreateWallpaper(model, display, arrangement);
}
catch (WallpaperPluginFactory.MsixNotAllowedException ex)
{
Logger.Warn(ex);
DialogService.Warn("Program wallpapers are not supported in the Store (MSIX) build.");
} Prevention
- Disable program-wallpaper entry points in the UI whenever PackageUtil.IsRunningAsPackaged is true.
- Document in the Store listing that program wallpapers require the desktop build.
- Unit-test the factory with a fake PackageUtil to assert the throw on MSIX and a return on desktop.
When it happens
Trigger: CreateWallpaper called with model.LivelyInfo.Type one of {app, bizhawk, unity, unityaudio, godot} on a build registered as an MSIX package (PackageUtil.IsRunningAsPackaged == true).
Common situations: User installed Lively from the Microsoft Store (MSIX) and tried to set a Unity/Godot/bizhawk or custom .exe wallpaper. Sideloading an .msix bundle hits the same path. The desktop (Inno) build never throws this.
Related errors
- A LivelyInfo.json file was found in this project folder. It
- xaml island gif player not available.
- Wallpaper player not found.
- msix not supported.
- LivelyInfo.json not found
AI-assisted analysis of rocksdanister/lively@c1036feb66 (2026-08-13).
Data as JSON: /api/errors/cfdf2e9bd3efc761.
Report an issue: GitHub.