private static void Install() { IRegistryService registryService = new RegistryService(); //Set run on startup = true registryService.SetRunOnStartup(true); }
private static void Uninstall() { IRegistryService registryService = new RegistryService(); ICacheSerializer cacheSerializer = new CacheSerializer(); ISettingsSerializer settingsSerializer = new SettingsSerializer(registryService); cacheSerializer.DeleteCache(); registryService.DeleteRunOnStartup(); //Not sure, if it will be user-friendly; but i prefer if applications remove themselves completely, //especially small ones. settingsSerializer.DeleteSettings(); }
//NOTE: Don't use IoC to avoid additional dependencies. private void InitializePresenters(bool isRunOnStartup) { NavigationWindow navigationWindow = new NavigationWindow(new PresentationService()); MainWindow = navigationWindow; IRegistryService registryService = new RegistryService(); ISettingsSerializer settingsSerializer = new SettingsSerializer(registryService); IPresenter navigationPresenter = new NavigationPresenter(navigationWindow, settingsSerializer, new KeyboardListener(), new MatchModelMapper(), new PresentationService(), new NavigationServiceBuilder(isRunOnStartup)); TrayView trayView = new TrayView(); IPresenter trayPresenter = new TrayIconPresenter(trayView, settingsSerializer); SettingsWindow settingsWindow = new SettingsWindow(); IPresenter settingsPresenter = new SettingsPresenter(settingsWindow, settingsSerializer); List<IPresenter> presenters = new List<IPresenter> { navigationPresenter, trayPresenter, settingsPresenter }; _presenterManager = new PresenterManager(presenters); _presenterManager.Exited += HandleExited; }