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(); }
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; }