namespace Launcher.Next.App; public partial class App : System.Windows.Application { protected override async void OnStartup(System.Windows.StartupEventArgs e) { base.OnStartup(e); if (e.Args.FirstOrDefault()?.Equals("legacy-configuration-probe", StringComparison.OrdinalIgnoreCase) == true) { ShutdownMode = System.Windows.ShutdownMode.OnExplicitShutdown; Shutdown(await LegacyConfigurationProbeCli.RunAsync(e.Args.Skip(1).ToArray())); return; } if (e.Args.FirstOrDefault()?.Equals("package-lifecycle-pilot", StringComparison.OrdinalIgnoreCase) == true) { ShutdownMode = System.Windows.ShutdownMode.OnExplicitShutdown; Shutdown(await PackageLifecyclePilotCli.RunAsync(e.Args.Skip(1).ToArray())); return; } if (e.Args.FirstOrDefault()?.Equals("local-parity-launch", StringComparison.OrdinalIgnoreCase) == true) { ShutdownMode = System.Windows.ShutdownMode.OnExplicitShutdown; Shutdown(await LocalParityLaunchCli.RunAsync(e.Args.Skip(1).ToArray())); return; } if (e.Args.Length == 4 && e.Args[0].Equals("--mode", StringComparison.OrdinalIgnoreCase) && e.Args[1].Equals("LocalParityLaunch", StringComparison.OrdinalIgnoreCase) && e.Args[2].Equals("--config", StringComparison.OrdinalIgnoreCase)) { try { new MainWindow(LocalParityLaunchService.LoadProfile(e.Args[3])).Show(); } catch (Exception exception) { System.Windows.MessageBox.Show("Controlled local configuration blocked: " + exception.Message, "Launcher Next"); Shutdown(2); } return; } if (e.Args.FirstOrDefault()?.Equals("pilot", StringComparison.OrdinalIgnoreCase) == true) { Shutdown(await PilotCli.RunAsync(e.Args.Skip(1).ToArray())); return; } new MainWindow().Show(); } }