Example #1
0
        /// <summary>
        /// アップデートボタン押下時のイベントプロシージャ
        /// </summary>
        /// <param name="sender">発生元</param>
        /// <param name="e">イベントオブジェクト</param>
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show(this
                                , "最新バージョンにアップデートしてもよろしいですか?"
                                , "アップデート確認"
                                , MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)
            {
                return;
            }

            if (!CheckProcessToBeStoppedWhenUpdate(out var launchingProcesses))
            {
                // 起動中のプロセスがあるため、処理を中断
                MessageBox.Show(this
                                , string.Format(
                                    "アップデートの際に終了が必要なプロセスが起動しています。\n以下のプロセスを終了後、再度ボタンをクリックしてください。\n\n{0}"
                                    , string.Join("\n", launchingProcesses.ToArray()))
                                , "アップデートエラー"
                                , MessageBoxButtons.OK, MessageBoxIcon.Warning);

                return;
            }

            isUpdateCancel = false;

            progressForm              = new FProgress();
            progressForm.CancelEvent += () =>
            {
                isUpdateCancel = true;
            };
            progressForm.Show(
                appConfig.ApplicationName + " " + "進行状況"
                , "ファイルダウンロード中"
                , this
                , true     // キャンセル有無
                , OnUpdate // バージョンチェック処理は進行状況フォームの表示が確定してから実行する
                );

            if (isUpdateCancel)
            {
                MessageBox.Show(this
                                , "アップデートがキャンセルされました。"
                                , "アップデートキャンセル"
                                , MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else if (isUpdateSuccess)
            {
                logger.Info(string.Format("Update complete. ver: {0} >> {1}", txtLocalVersion.Text, txtLatestVersion.Text));

                MessageBox.Show(this
                                , "アップデートが完了しました。"
                                , "アップデート完了"
                                , MessageBoxButtons.OK, MessageBoxIcon.Information);

                Close();
            }
        }
Example #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FMain_Load(object sender, EventArgs e)
        {
            this.Text = appConfig.ApplicationName + " " + "最新バージョンのアップデート";

            txtLocalVersion.Text  = string.Empty;
            txtLatestVersion.Text = string.Empty;

            progressForm              = new FProgress();
            progressForm.CancelEvent += () => { };
            progressForm.Show(
                appConfig.ApplicationName + " " + "進行状況"
                , "バージョンチェック中"
                , this
                , false          // キャンセル有無
                , OnCheckVersion // バージョンチェック処理は進行状況フォームの表示が確定してから実行する
                );

            if (isVersionCheckSuccess)
            {
                // バージョンチェック成功時
            }
        }