Say why the folders cannot be made instead of dying

Something already sitting where Documents/N1MM Logger+ should go — a file, or
a link to somewhere that is not there — threw out of Directory.CreateDirectory
before the program had a window, so the operator got a stack trace and nothing
else.

CreateFolders answers with what stopped it, and the program shows it in a
window naming the path and stops there. NONEMM_HOME moves the whole lot
somewhere else, for a station that keeps its files off the Documents folder.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RoGtneMQaz4M9w7Kk49AVD
This commit is contained in:
2026-08-31 23:16:55 +00:00
parent d5b5233ab8
commit 14209e01e8
5 changed files with 125 additions and 6 deletions

View File

@@ -17,7 +17,12 @@ public partial class App : Application
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
UserPaths paths = UserPaths.Default();
paths.CreateFolders();
if (paths.CreateFolders() is { } problem)
{
desktop.MainWindow = new StartupProblemWindow(problem, paths.Root);
base.OnFrameworkInitializationCompleted();
return;
}
Settings settings = Settings.Load(paths.SettingsFile);
Themes.Use(settings.Theme);
Themes.Changed += (_, _) => ApplyTheme();