Files
LanMountainDesktop/LanDesktopPLONDS.installer/Program.cs

40 lines
1.1 KiB
C#
Raw Normal View History

using Avalonia;
2026-06-09 22:18:27 +08:00
using Avalonia.Win32;
namespace LanDesktopPLONDS.Installer;
public static class Program
{
[STAThread]
public static void Main(string[] args)
{
2026-06-09 22:18:27 +08:00
InstallerStartupDiagnostics.Initialize();
2026-06-07 00:40:48 +08:00
try
{
2026-06-09 22:18:27 +08:00
InstallerStartupDiagnostics.Log("Preparing native dependencies.");
2026-06-07 00:40:48 +08:00
if (!NativeDependencyBootstrapper.TryPrepare())
{
2026-06-09 22:18:27 +08:00
throw new InvalidOperationException("Failed to prepare native dependencies.");
2026-06-07 00:40:48 +08:00
}
2026-06-09 22:18:27 +08:00
InstallerStartupDiagnostics.Log("Starting Avalonia desktop lifetime.");
2026-06-07 00:40:48 +08:00
BuildAvaloniaApp().StartWithClassicDesktopLifetime(args);
}
catch (Exception ex)
{
2026-06-09 22:18:27 +08:00
InstallerStartupDiagnostics.ReportFatal("The installer failed to start.", ex);
2026-06-07 00:40:48 +08:00
}
}
public static AppBuilder BuildAvaloniaApp()
{
return AppBuilder.Configure<App>()
.UsePlatformDetect()
2026-06-09 22:18:27 +08:00
.With(new Win32PlatformOptions
{
RenderingMode = [Win32RenderingMode.Software],
CompositionMode = [Win32CompositionMode.RedirectionSurface]
});
}
}