Exemple #1
0
        private static void TestSqlAdo()
        {
            var ctx = new Context()
            {
                AppInfo  = new AppInfo(false),
                InstInfo = new InstInfo()
                {
                    InstallPath = @"F:\\Test"
                }
            };
            var insCtx = new InstallContext(ctx);
            var tr     = new SqlAdoExecutor();

            tr.SetContext(insCtx, new Log(), "", @"E:\Tests\TestScripts");
            tr.Run();
            tr.Rollback();
        }
Exemple #2
0
        private void Begin()
        {
            this.pnlControl.Enabled = false;
            var process = pnlMain.Controls.OfType <FrmInstall>().FirstOrDefault();

            if (process == null)
            {
                return;
            }

            isInstalling = true;
            Global.Log   = process;
            var installer = new SqlAdoExecutor();

            installer.SetOwner(this);
            installer.Init(this.context, process);
            process.SetMaxValue(installer.GetProcessValue(), 0);
            if (!installer.Run())
            {
                if (installer.CommandStatus == CommandStatus.Running &&
                    MessageBox.Show(this, "脚本执行出错,是否需要还原?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    installer.Rollback();
                }
            }
            else
            {
                process.Complete();
            }

            this.pnlControl.Enabled = true;
            this.btnPrev.Enabled    = false;
            this.btnCancel.Enabled  = false;
            isInstalling            = false;
            isRunned = true;
        }