public OptionDialog( Bho trixie ) { if ( TranslationManager.Instance.TranslationProvider == null ) { // setup Translator because COM is created without calling App.OnStartup() var xml = Trixie.Properties.Resources.Localizer; var tx = new XmlTranslationProvider( xml ); TranslationManager.Instance.TranslationProvider = tx; } Settings = new ObservableCollection<ScriptSetting>(); mTrixie = trixie; InitializeComponent(); DataContext = this; }
/// <summary> /// セルフレジスタ /// アプリケーションとしてはここだけ実行して終わる /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnStartup( object sender , StartupEventArgs e ) { if ( TranslationManager.Instance.TranslationProvider == null ) { // setup Translator var xml = Trixie.Properties.Resources.Localizer; var tx = new XmlTranslationProvider( xml ); TranslationManager.Instance.TranslationProvider = tx; } // Register Assembly asm = Assembly.GetExecutingAssembly(); RegistrationServices reg = new RegistrationServices(); var args = Environment.GetCommandLineArgs(); if ( args.Length > 2 ) { if ( args[1].Equals( "/u" ) ) { // Unregister with COM if ( reg.UnregisterAssembly( asm ) ) { Console.Write( TranslationManager.Instance.Translate( "Unregistered" ) ); } else { Console.Write( TranslationManager.Instance.Translate( "UnregisterFail" ) ); } } else if ( args[1].Equals( "/r" ) ) { // Register with COM if ( reg.RegisterAssembly( asm , AssemblyRegistrationFlags.SetCodeBase ) ) { Console.Write( TranslationManager.Instance.Translate( "Registered" ) ); } else { Console.Write( TranslationManager.Instance.Translate( "RegisterFail" ) ); } } Shutdown(); return; } Type installed = Type.GetTypeFromProgID( "Trixie.Bho" ); if ( installed != null ) { var result = MessageBox.Show( (string)TranslationManager.Instance.Translate( "Unregistering" ) , "Trixie" , MessageBoxButton.YesNo ); if ( result == MessageBoxResult.Yes ) { // Unregister with COM if ( reg.UnregisterAssembly( asm ) ) { MessageBox.Show( (string)TranslationManager.Instance.Translate( "Unregistered" ) , "Trixie" ); } else { MessageBox.Show( (string)TranslationManager.Instance.Translate( "UnregisterFail" ) , "Trixie" ); } } } else { var result = MessageBox.Show( (string)TranslationManager.Instance.Translate( "Registering" ) , "Trixie" , MessageBoxButton.YesNo ); if ( result == MessageBoxResult.Yes ) { // Register with COM if ( reg.RegisterAssembly( asm , AssemblyRegistrationFlags.SetCodeBase ) ) { MessageBox.Show( (string)TranslationManager.Instance.Translate( "Registered" ) , "Trixie" ); } else { MessageBox.Show( (string)TranslationManager.Instance.Translate( "RegisterFail" ) , "Trixie" ); } } } Shutdown(); }