using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Linq; using System.Threading.Tasks; using System.Windows; using Microsoft.Shell; using MediaBrowser.Controller; namespace MediaBrowser.ServerApplication { /// /// Interaction logic for App.xaml /// public partial class App : Application, ISingleInstanceApp { private const string Unique = "MediaBrowser3"; [STAThread] public static void Main() { if (SingleInstance.InitializeAsFirstInstance(Unique)) { var application = new App(); application.InitializeComponent(); application.Run(); // Allow single instance code to perform cleanup operations SingleInstance.Cleanup(); } } #region ISingleInstanceApp Members public bool SignalExternalCommandLineArgs(IList args) { // handle command line arguments of second instance // ... return true; } #endregion protected override void OnExit(ExitEventArgs e) { base.OnExit(e); Kernel.Instance.Dispose(); } } }