예제 #1
0
        /// <summary>
        /// Installs the game.
        /// </summary>
        public virtual void InstallGame()
        {
            this.ModuleInstallFinishedArgs.Module = EModule.Game;
            this.ModuleInstallFailedArgs.Module   = EModule.Game;

            try
            {
                //create the .install file to mark that an installation has begun
                //if it exists, do nothing.
                ConfigHandler.CreateGameCookie();

                // Download Game
                DownloadModule(EModule.Game);

                // Verify Game
                VerifyModule(EModule.Game);
            }
            catch (IOException ioex)
            {
                Log.Warn("Game installation failed (IOException): " + ioex.Message);
            }

            // OnModuleInstallationFinished and OnModuleInstallationFailed is in VerifyGame
            // in order to allow it to run as a standalone action, while still keeping this functional.

            // As a side effect, it is required that it is the last action to run in Install and Update,
            // which happens to coincide with the general design.
        }