internal static bool UninstallInterface(HL7InterfaceConfig config) { string interfacePath = Path.Combine(Application.StartupPath, config.InterfaceFolder); string strSvcRelativePath = "Bin\\Services\\" + (config.InterfaceType == InterfaceType.Receiver ? "HL7GW_RCV" : "HL7GW_SND"); string interfaceServicePath = Path.Combine(interfacePath, strSvcRelativePath); try { Program.ConfigMgt.Config.InterfaceList.Remove(config); if (Program.SaveConfig()) { string uninstallSvcBat = Path.Combine(interfaceServicePath, "UninstallService.bat"); ScriptMgt.ExecuteAssembly(uninstallSvcBat, "", true, Program.Log); UpdateUnistallBat(Program.ConfigMgt.Config); DeleteDirectory(interfacePath, true); return(true); } } catch (Exception err) { Program.Log.Write(LogType.Error, "Unistall interface failed : " + config.InterfaceName); Program.Log.Write(err); } return(false); }
private void buttonScriptLocalCall_Click(object sender, EventArgs e) { MessageBox.Show( ScriptMgt.ExecuteBatFile( this.textBoxScriptFileName.Text.Trim(), this.textBoxScriptArgument.Text.Trim(), this.textBoxScriptWorkingPath.Text.Trim(), Program.Log) ); }
public ScriptTaskResult Execute(ScriptTask task) { ScriptTaskResult res = new ScriptTaskResult(); if (task == null) { res.Success = false; res.Message = "No script to execute."; Program.Log.Write(res.Message); return(res); } res.Message = ScriptMgt.ExecuteBatFile(task.File, task.Argument, task.WorkPath, Program.Log); res.Success = true; return(res); }
public static bool InstallInterface(string strServiceName, InterfaceType iType, UpdateProgress updateProgress) { HL7InterfaceConfig config = CreateHL7InterfaceConfig(strServiceName, iType); Program.ConfigMgt.Config.InterfaceList.Add(config); try { string strPrototypePath = Path.Combine(Application.StartupPath, iType == InterfaceType.Receiver ? "..\\Prototype\\Receiver" : "..\\Prototype\\Sender"); string targetPath = Path.Combine(Application.StartupPath, config.InterfaceFolder); CopyDirectory(strPrototypePath, targetPath, updateProgress); string strSvcRelativePath = "Bin\\Services\\" + (iType == InterfaceType.Receiver ? "HL7GW_RCV" : "HL7GW_SND"); string targetServicePath = Path.Combine(targetPath, strSvcRelativePath); string svcCfgExe = Path.Combine(targetServicePath, "HYS.IM.Messaging.ServiceConfig.exe"); ScriptMgt.ExecuteAssembly(svcCfgExe, "-s -u", true, Program.Log); HL7ConfigHelper.UpdateInterfaceName(config); string installSvcBat = Path.Combine(targetServicePath, "InstallService.bat"); string uninstallSvcBat = Path.Combine(targetServicePath, "UninstallService.bat"); ScriptMgt.ExecuteAssembly(installSvcBat, "", true, Program.Log); ScriptMgt.ExecuteAssembly(svcCfgExe, "-s -r", true, Program.Log); GenerateBat(targetServicePath, strServiceName); UpdateUnistallBat(Program.ConfigMgt.Config); if (!Program.SaveConfig()) { return(false); } } catch (Exception err) { Program.Log.Write(LogType.Error, "Install interface failed."); Program.Log.Write(err); Program.ConfigMgt.Config.InterfaceList.Remove(config); return(false); } return(true); }
private bool SaveSetting() { string sname = this.textBoxServiceName.Text; if (!NTServiceHostConfig.IsValidServiceName(sname)) { MessageBox.Show(this, "NT Service name should only contains charactor or number or '_', and should begins with charactor, and should be not more than 256 characters, please input another name.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Information); this.textBoxServiceName.Focus(); return(false); } if (!CheckDuplicatedService(sname)) { MessageBox.Show(this, "NT Service \"" + sname + "\" has already exsited, please input another name.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Information); this.textBoxServiceName.Focus(); return(false); } Program.ConfigMgt.Config.ServiceName = sname; Program.ConfigMgt.Config.Description = this.textBoxServiceDescription.Text; Program.ConfigMgt.Config.DependOnServiceNameList = this.textBoxDepends.Text.Trim(); Program.ConfigMgt.Config.StartType = (ServiceStartMode)this.comboBoxStart.SelectedItem; Program.ConfigMgt.Config.AccountType = (ServiceAccount)this.comboBoxAccount.SelectedItem; Program.ConfigMgt.Config.UserName = this.textBoxUserName.Text.Trim(); Program.ConfigMgt.Config.Password = this.textBoxPassword.Text; Program.ConfigMgt.Config.LogConfig.LogType = (LogType)this.comboBoxLogType.SelectedItem; Program.ConfigMgt.Config.LogConfig.DurationDay = (int)this.numericUpDownLogDuration.Value; Program.ConfigMgt.Config.LogConfig.HostName = Program.ConfigMgt.Config.ServiceName; Program.ConfigMgt.Config.LogConfig.DumpData = this.checkBoxDumpData.Checked; string installSvcBat = Path.Combine(Application.StartupPath, "InstallService.bat"); string uninstallSvcBat = Path.Combine(Application.StartupPath, "UninstallService.bat"); //string registerSvcBat = Path.Combine(Application.StartupPath, "RegisterHostToSolution.bat"); //string unregisterSvcBat = Path.Combine(Application.StartupPath, "UnregisterHostFromSolution.bat"); string svcCfgExe = Path.Combine(Application.StartupPath, "HYS.IM.Messaging.ServiceConfig.exe"); if (Program.AutoRunBatScript) { //ScriptMgt.ExecuteBatFile(uninstallSvcBat, Application.StartupPath, Program.Log); //ScriptMgt.ExecuteBatFile(svcCfgExe, "-s -u", Application.StartupPath, Program.Log); ScriptMgt.ExecuteAssembly(uninstallSvcBat, "", true, Program.Log); ScriptMgt.ExecuteAssembly(svcCfgExe, "-s -u", true, Program.Log); } if (Program.ConfigMgt.Save()) { if (Program.AutoRunBatScript) { //ScriptMgt.ExecuteBatFile(installSvcBat, Application.StartupPath, Program.Log); //ScriptMgt.ExecuteBatFile(svcCfgExe, "-s -r", Application.StartupPath, Program.Log); ScriptMgt.ExecuteAssembly(installSvcBat, "", true, Program.Log); ScriptMgt.ExecuteAssembly(svcCfgExe, "-s -r", true, Program.Log); } GenerateBat(); return(true); } else { MessageBox.Show(this, "Save configuration file failed." + "\r\n\r\nDetail Information: \r\n\r\n" + Program.ConfigMgt.LastErrorInfor, "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } }