private void handleCommandLine() { string[] args = Environment.GetCommandLineArgs(); if (args.Length > 1) { var result = Parser.Default.ParseArguments <Options>(args); if (result is Parsed <Options> parsedCommandLineArgs) { //Parsing completed if (parsedCommandLineArgs.Value.UpdateBoot) { //Update unpacked and process was run. // Exit the process as we have completed the extraction process for single file .net core Application.Current.Dispatcher.Invoke(Application.Current.Shutdown); return; } if (parsedCommandLineArgs.Value.UpdateRebootDest != null) { Log.Logger = LogCollector.CreateLogger(); Log.Information(LogCollector.SessionStartString); copyAndRebootUpdate(parsedCommandLineArgs.Value.UpdateRebootDest); return; } // Set passthroughs if (parsedCommandLineArgs.Value.PassthroughME1Path != null) { StartupUIController.PassthroughME1Path = parsedCommandLineArgs.Value.PassthroughME1Path; } if (parsedCommandLineArgs.Value.PassthroughME2Path != null) { StartupUIController.PassthroughME2Path = parsedCommandLineArgs.Value.PassthroughME2Path; } if (parsedCommandLineArgs.Value.PassthroughME3Path != null) { StartupUIController.PassthroughME3Path = parsedCommandLineArgs.Value.PassthroughME3Path; } } else { Log.Error("Could not parse command line arguments! Args: " + string.Join(' ', args)); } } }