diff --git a/SafeExamBrowser.Applications/ExternalApplication.cs b/SafeExamBrowser.Applications/ExternalApplication.cs index a54a43a2..3f44da7b 100644 --- a/SafeExamBrowser.Applications/ExternalApplication.cs +++ b/SafeExamBrowser.Applications/ExternalApplication.cs @@ -80,7 +80,7 @@ namespace SafeExamBrowser.Applications try { logger.Info("Starting application..."); - InitializeInstance(processFactory.StartNew(executablePath)); + InitializeInstance(processFactory.StartNew(executablePath, BuildArguments())); logger.Info("Successfully started application."); } catch (Exception e) @@ -89,6 +89,18 @@ namespace SafeExamBrowser.Applications } } + private string[] BuildArguments() + { + var arguments = new List(); + + foreach (var argument in settings.Arguments) + { + arguments.Add(Environment.ExpandEnvironmentVariables(argument)); + } + + return arguments.ToArray(); + } + public void Terminate() { applicationMonitor.InstanceStarted -= ApplicationMonitor_InstanceStarted;