rocksdanister/lively · error · FileNotFoundException
LivelyInfo.json not found
Error message
LivelyInfo.json not found
What it means
Thrown by WallpaperLibraryFactory.GetMetadata when no LivelyInfo.json exists in the supplied folderPath. LivelyInfo.json is the manifest every lively wallpaper directory/zip must ship; without it the wallpaper cannot be identified or loaded. The check is a plain File.Exists on Path.Combine(folderPath, "LivelyInfo.json").
Source
Thrown at src/Lively/Lively.Common/Factories/WallpaperLibraryFactory.cs:19
using Lively.Common.Extensions;
using Lively.Common.Helpers.Files;
using Lively.Common.Helpers.Shell;
using Lively.Common.Helpers.Storage;
using Lively.Models;
using Lively.Models.Enums;
using System;
using System.Drawing.Imaging;
using System.IO;
using System.Threading.Tasks;
namespace Lively.Common.Factories
{
public class WallpaperLibraryFactory : IWallpaperLibraryFactory
{
public LivelyInfoModel GetMetadata(string folderPath)
{
if (!File.Exists(Path.Combine(folderPath, "LivelyInfo.json")))
throw new FileNotFoundException("LivelyInfo.json not found");
return JsonStorage<LivelyInfoModel>.LoadData(Path.Combine(folderPath, "LivelyInfo.json")) ?? throw new FileNotFoundException("Corrupted wallpaper metadata");
}
public LibraryModel CreateFromDirectory(string folderPath)
{
var metadata = GetMetadata(folderPath);
var result = new LibraryModel
{
LivelyInfo = metadata,
LivelyInfoFolderPath = folderPath,
LivelyInfoLocalizationPath = Path.Combine(folderPath, "LivelyInfo.loc.json"),
LivelyPropertyLocalizationPath = Path.Combine(folderPath, "LivelyProperties.loc.json"),
IsSubscribed = !string.IsNullOrEmpty(metadata.Id),
Title = metadata.Title,
Desc = metadata.Desc,
Author = metadata.Author
};View on GitHub (pinned to c1036feb66)
Solutions
- Verify the path actually contains LivelyInfo.json: check File.Exists(Path.Combine(folderPath, "LivelyInfo.json")) before calling GetMetadata.
- Confirm folderPath resolves to the wallpaper's own directory (the sibling of the media file), not a parent or temp extract root.
- If importing from an archive, extract it fully first and pass the extracted directory, not the .zip path.
- Re-download or re-package the wallpaper so the manifest is present.
Example fix
// before
var meta = factory.GetMetadata(folderPath);
// after
var manifest = Path.Combine(folderPath, "LivelyInfo.json");
if (!File.Exists(manifest))
throw new InvalidOperationException($"Not a lively wallpaper directory: {folderPath}");
var meta = factory.GetMetadata(folderPath); Defensive patterns
Strategy: validation
Validate before calling
string manifest = Path.Combine(folderPath, "LivelyInfo.json");
if (!File.Exists(manifest))
throw new DirectoryNotFoundException($"Not a lively wallpaper directory (missing LivelyInfo.json): {folderPath}");
var meta = factory.GetMetadata(folderPath); Type guard
static bool IsLivelyWallpaperDirectory(string folderPath)
=> Directory.Exists(folderPath)
&& File.Exists(Path.Combine(folderPath, "LivelyInfo.json")); Try / catch
try { var meta = factory.GetMetadata(folderPath); }
catch (FileNotFoundException ex) when (ex.Message.Contains("LivelyInfo.json"))
{
// prompt user to pick the wallpaper's own folder / re-import
} Prevention
- Always resolve folderPath to the directory that siblings the media file, not a parent.
- Validate the directory contains LivelyInfo.json before calling GetMetadata.
- When importing from archives, extract fully and pass the extracted directory.
When it happens
Trigger: Calling GetMetadata(folderPath) or CreateFromDirectory(folderPath) with a directory that does not contain LivelyInfo.json. Also reached transitively from any wallpaper-import path that resolves a folder lacking the manifest.
Common situations: Pointing the factory at the wrong folder (e.g. the zip's parent instead of its extract target); a partially extracted/copyied wallpaper whose manifest was filtered out; an old or third-party wallpaper folder that never had LivelyInfo.json; path casing/separator issues on the folder argument.
Related errors
- A LivelyInfo.json file was found in this project folder. It
- LivelyInfo.json not found
- Corrupted wallpaper metadata
- Not Lively .zip
- i18n.GetString("LivelyExceptionNotLivelyZip")
AI-assisted analysis of rocksdanister/lively@c1036feb66 (2026-08-13).
Data as JSON: /api/errors/268f88c2e2c90585.
Report an issue: GitHub.