Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 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)
         );
 }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
            }
        }