private void Prepare() { var directory = Directory.CreateDirectory(AppPaths.AppPath); musicLoader = new MusicLoader(directory.FullName, tokenID, userID); DependencyUtility.RegisterInstance(musicLoader); DependencyUtility.RegisterType <MusicPlayer>(); DependencyUtility.RegisterInstance(new AutorunHelper(System.Reflection.Assembly.GetExecutingAssembly().Location)); var progressWindow = new ProgressWindow("Синхронизация", musicLoader); progressWindow.Show(); musicWorker = DependencyUtility.Resolve <TrackList>(); musicPlayer = DependencyUtility.Resolve <MusicPlayer>(); musicLoader.LoadAsync().ContinueWith((t) => Dispatcher.Invoke(firstSynchronizationCompleted)); var settingsWindow = new SettingsWindow(); fastTimer.Tick += (s, e) => { if (!mutexShow.WaitOne(0, true)) { musicPlayer.InvokeShow(); } else { mutexShow.ReleaseMutex(); } }; }