Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            Console.Title         = "FOUpdater v" + FOUpdaterClient.VersionString;
            Console.CursorVisible = false;
            Console.Clear();

            string cmdSource = null;
            string cmdConfig = null;

            foreach (string arg in args)
            {
                if (arg == "/autoclose" || arg == "--autoclose")
                {
                    AutoClose = true;
                }

                else if (arg.StartsWith("/source:") || arg.StartsWith("--source:"))
                {
                    cmdSource = arg.Substring((arg.StartsWith("/source:") ? 8 : 9));
                }

                else if (arg.StartsWith("/config:") || arg.StartsWith("--config:"))
                {
                    cmdConfig = arg.Substring((arg.StartsWith("/config:") ? 8 : 9));
                }
            }

            FOUpdaterClient updater = new FOUpdaterClient(cmdConfig);

            FOUpdaterResult result = updater.Update(consoleMessage, null, cmdSource);

            if (result == FOUpdaterResult.InvalidConfig)
            {
                consoleMessage(FOUpdaterMessage.General, "Invalid configuration");
            }

            if (!AutoClose)
            {
                Console.SetCursorPosition(0, textAnyKey);
                Console.CursorVisible = true;
                if (showAnyKey)
                {
                    Console.Write("Press any key to exit...");
                    Console.ReadKey(true);;
                    Console.WriteLine();
                }
            }
        }
Ejemplo n.º 2
0
        static void Main( string[] args )
        {
            Console.Title = "FOUpdater v" + FOUpdaterClient.VersionString;
            Console.CursorVisible = false;
            Console.Clear();

            string cmdSource = null;
            string cmdConfig = null;

            foreach( string arg in args )
            {
                if( arg == "/autoclose" || arg == "--autoclose" )
                    AutoClose = true;

                else if( arg.StartsWith( "/source:" ) || arg.StartsWith( "--source:" ) )
                    cmdSource = arg.Substring( (arg.StartsWith( "/source:" ) ? 8 : 9) );

                else if( arg.StartsWith( "/config:" ) || arg.StartsWith( "--config:" ) )
                    cmdConfig = arg.Substring( (arg.StartsWith( "/config:" ) ? 8 : 9) );
            }

            FOUpdaterClient updater = new FOUpdaterClient( cmdConfig );

            FOUpdaterResult result = updater.Update( consoleMessage, null, cmdSource );

            if( result == FOUpdaterResult.InvalidConfig )
            {
                consoleMessage( FOUpdaterMessage.General, "Invalid configuration" );
            }

            if( !AutoClose )
            {
                Console.SetCursorPosition( 0, textAnyKey );
                Console.CursorVisible = true;
                if( showAnyKey )
                {
                    Console.Write( "Press any key to exit..." );
                    Console.ReadKey( true ); ;
                    Console.WriteLine();
                }
            }
        }
Ejemplo n.º 3
0
        private void backgroundWorker_DoWork( object sender, DoWorkEventArgs e )
        {
            this.CancelButton = this.buttonCancel;

            updater = new FOUpdaterClient();
            FOUpdaterResult result = updater.Update( winformMessage, winformProgress, DefaultSource );

            this.AcceptButton = this.buttonCancel;
            this.CancelButton = this.buttonExit;

            if( result == FOUpdaterResult.OK || result == FOUpdaterResult.Cancel )
            {
                string run = null;
                if( updater.FOnlineCfg != null )
                    run = updater.FOnlineCfg.IniReadValue( FOUpdaterClient.Strings.Section, FOUpdaterClient.Strings.Run );

                if( run != null && run.Length > 0 )
                {
                    string[] runOption = run.Split( new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries );
                    if( runOption.Length == 2 &&
                        File.Exists( runOption[0] ) &&
                        runOption[1].Length > 0 )
                    {
                        buttonCancel.SetEnabled( true );
                        buttonCancel.SetText( runOption[1] );
                        buttonCancel.SetTag( new string[] { runOption[0], null } );
                    }
                }
                else // FOConfigEx support
                {
                    string[] program = { "FOnline", "FOnlineGL" };

                    if( updater.FOnlineCfg != null )
                        run = updater.FOnlineCfg.IniReadValue( "FOConfig", "PlayProgram" );
                    byte tmp = byte.MaxValue;
                    if( run != null && run.Length > 0 &&
                        byte.TryParse( run, out tmp ) &&
                        tmp < program.Length &&
                        File.Exists( program[tmp] + ".exe" ) )
                    {
                        this.buttonCancel.Enabled = true;
                        this.buttonCancel.Text = "Run " + program[tmp];
                        if( updater.FOnlineCfg.IniReadValueBool( "FOConfig", "SkipLogin" ) )
                            this.buttonCancel.Tag = new string[] { program[tmp], "-Start" };
                        else
                            this.buttonCancel.Tag = new string[] { program[tmp], null };
                    }
                    else
                    {
                        this.buttonCancel.SetEnabled( false );
                    }
                }
            }
            else if( result == FOUpdaterResult.InvalidConfig )
            {
                this.buttonCancel.SetEnabled( false );
                this.buttonCancel.SetVisible( false );
            }
            else if( result == FOUpdaterResult.NoSource )
            {
                this.buttonCancel.SetEnabled( false );
                this.buttonCancel.SetVisible( false );
            }
            else
                throw new NotImplementedException( Enum.GetName( typeof( FOUpdaterResult ), result ) );

            this.buttonExit.SetEnabled( true );
        }
Ejemplo n.º 4
0
        private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            this.CancelButton = this.buttonCancel;

            updater = new FOUpdaterClient();
            FOUpdaterResult result = updater.Update(winformMessage, winformProgress, DefaultSource);

            this.AcceptButton = this.buttonCancel;
            this.CancelButton = this.buttonExit;

            if (result == FOUpdaterResult.OK || result == FOUpdaterResult.Cancel)
            {
                string run = null;
                if (updater.FOnlineCfg != null)
                {
                    run = updater.FOnlineCfg.GetValue(FOUpdaterClient.Strings.Section, FOUpdaterClient.Strings.Run, (string)null);
                }

                if (run != null && run.Length > 0)
                {
                    string[] runOption = run.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                    if (runOption.Length == 2 &&
                        File.Exists(runOption[0]) &&
                        runOption[1].Length > 0)
                    {
                        buttonCancel.SetEnabled(true);
                        buttonCancel.SetText(runOption[1]);
                        buttonCancel.SetTag(new string[] { runOption[0], null });
                    }
                }
                else // FOConfigEx support
                {
                    string[] program = { "FOnline", "FOnlineGL" };

                    if (updater.FOnlineCfg != null)
                    {
                        run = updater.FOnlineCfg.GetValue("FOConfig", "PlayProgram", (string)null);
                    }
                    byte tmp = byte.MaxValue;
                    if (run != null && run.Length > 0 &&
                        byte.TryParse(run, out tmp) &&
                        tmp < program.Length &&
                        File.Exists(program[tmp] + ".exe"))
                    {
                        this.buttonCancel.Enabled = true;
                        this.buttonCancel.Text    = "Run " + program[tmp];
                        if (updater.FOnlineCfg.GetValue("FOConfig", "SkipLogin", false))
                        {
                            this.buttonCancel.Tag = new string[] { program[tmp], "-Start" }
                        }
                        ;
                        else
                        {
                            this.buttonCancel.Tag = new string[] { program[tmp], null }
                        };
                    }
                    else
                    {
                        this.buttonCancel.SetEnabled(false);
                    }
                }
            }
            else if (result == FOUpdaterResult.InvalidConfig)
            {
                this.buttonCancel.SetEnabled(false);
                this.buttonCancel.SetVisible(false);
            }
            else if (result == FOUpdaterResult.NoSource)
            {
                this.buttonCancel.SetEnabled(false);
                this.buttonCancel.SetVisible(false);
            }
            else
            {
                throw new NotImplementedException(Enum.GetName(typeof(FOUpdaterResult), result));
            }

            this.buttonExit.SetEnabled(true);
        }