Beispiel #1
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            _context.Log.AddLogInformation("Вход в MainForm.FormLoad()");
            try
            {
                panelCancel.Visible = false;
                if (_package != null)
                {
                    _context.Log.AddLogInformation("Есть пакет для запуска");
                    buttonBrowse.Enabled = false;
                    panelCancel.Visible  = true;
                    Action action = new Action(_package.Execute);
                    _context.Log.AddLogInformation("Запускаем пакет");
                    ExecutePackageAsyncState state = new ExecutePackageAsyncState()
                    {
                        action  = action,
                        package = _package
                    };
                    action.BeginInvoke(execCallback, state);
                }
                else
                {
                    _context.Log.AddLogInformation("Нет пакета для запуска");
                    buttonBrowse.Enabled = true;
                }
            }
            catch (Exception ex)
            {
                _context.Log.AddLogInformation("Поймано исключение в MainForm.FormLoad. Подробности смотрите далее.");
                _context.Log.AddLogException(ex);
                Win32Util.ShowError(this, "Ошибка при выполнении пакета. Подробности можно найти в журнале инсталлятора.");
            }

            _context.Log.AddLogInformation("Выход из MainForm.FormLoad()");
        }
Beispiel #2
0
 void execCallback(IAsyncResult result)
 {
     _context.Log.AddLogInformation("Вход в execCallback");
     try
     {
         ExecutePackageAsyncState state = (ExecutePackageAsyncState)result.AsyncState;
         state.action.EndInvoke(result);
         Win32Util.ExecuteOrInvoke(this, () =>
         {
             buttonBrowse.Enabled = true;
             panelCancel.Visible  = false;
             MessageBox.Show(this, "Пакет выполнен успешно", "Выполнение пакета завершено", MessageBoxButtons.OK, MessageBoxIcon.Information);
             panelMain.Controls.Clear();
         });
     }
     catch (Exception ex)
     {
         _context.Log.AddLogInformation("Поймано исключение в execCallback. Подробности смотрите далее.");
         _context.Log.AddLogException(ex);
         Win32Util.ShowError(this, "Ошибка при выполнении пакета. Подробности можно найти в журнале инсталлятора.");
     }
     _context.Log.AddLogInformation("Выход из execCallback");
 }
Beispiel #3
0
        void loadCallback(IAsyncResult result)
        {
            _context.Log.AddLogInformation("Вход в loadCallback");
            try
            {
                Func <string, string> load = (Func <string, string>)result.AsyncState;
                load.EndInvoke(result);

                _context.Log.AddLogInformation("Пакет загружен.");
                Action exec = new Action(_package.Execute);
                ExecutePackageAsyncState state = new ExecutePackageAsyncState()
                {
                    action  = exec,
                    package = _package
                };
                _context.Log.AddLogInformation("Начинаем выполнение пакета");
                exec.BeginInvoke(execCallback, state);
            }
            catch (PackageExecutionCancelledException)
            {
                Win32Util.ExecuteOrInvoke(this, () =>
                {
                    buttonBrowse.Enabled = true;
                    panelCancel.Visible  = false;
                    MessageBox.Show(this, "Прервано пользователем", "Ошибка при выполнении пакета", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    panelMain.Controls.Clear();
                });
            }
            catch (Exception ex)
            {
                _context.Log.AddLogInformation("Поймано исключение в loadCallback. Подробности смотрите далее.");
                _context.Log.AddLogException(ex);
                Win32Util.ShowError(this, "Ошибка при выполнении пакета. Подробности можно найти в журнале инсталлятора.");
            }
            _context.Log.AddLogInformation("Выход из loadCallback");
        }
Beispiel #4
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            _context.Log.AddLogInformation("Вход в MainForm.FormLoad()");
            try
            {
                panelCancel.Visible = false;
                if (_package != null)
                {
                    _context.Log.AddLogInformation("Есть пакет для запуска");
                    buttonBrowse.Enabled = false;
                    panelCancel.Visible = true;
                    Action action = new Action(_package.Execute);
                    _context.Log.AddLogInformation("Запускаем пакет");
                    ExecutePackageAsyncState state = new ExecutePackageAsyncState()
                    {
                        action = action,
                        package = _package
                    };
                    action.BeginInvoke(execCallback, state);
                }
                else
                {
                    _context.Log.AddLogInformation("Нет пакета для запуска");
                    buttonBrowse.Enabled = true;
                }
            }
            catch (Exception ex)
            {
                _context.Log.AddLogInformation("Поймано исключение в MainForm.FormLoad. Подробности смотрите далее.");
                _context.Log.AddLogException(ex);
                Win32Util.ShowError(this, "Ошибка при выполнении пакета. Подробности можно найти в журнале инсталлятора.");
            }

            _context.Log.AddLogInformation("Выход из MainForm.FormLoad()");
        }
Beispiel #5
0
        void loadCallback(IAsyncResult result)
        {
            _context.Log.AddLogInformation("Вход в loadCallback");
            try
            {
                Func<string, string> load = (Func<string, string>)result.AsyncState;
                load.EndInvoke(result);

                _context.Log.AddLogInformation("Пакет загружен.");
                Action exec = new Action(_package.Execute);
                ExecutePackageAsyncState state = new ExecutePackageAsyncState()
                {
                    action = exec,
                    package = _package
                };
                _context.Log.AddLogInformation("Начинаем выполнение пакета");
                exec.BeginInvoke(execCallback, state);
            }
            catch (PackageExecutionCancelledException)
            {
                Win32Util.ExecuteOrInvoke(this, () =>
                {
                    buttonBrowse.Enabled = true;
                    panelCancel.Visible = false;
                    MessageBox.Show(this, "Прервано пользователем", "Ошибка при выполнении пакета", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    panelMain.Controls.Clear();
                });
            }
            catch (Exception ex)
            {
                _context.Log.AddLogInformation("Поймано исключение в loadCallback. Подробности смотрите далее.");
                _context.Log.AddLogException(ex);
                Win32Util.ShowError(this, "Ошибка при выполнении пакета. Подробности можно найти в журнале инсталлятора.");
            }
            _context.Log.AddLogInformation("Выход из loadCallback");
        }