예제 #1
0
        public static void GetServiceName(out NTServiceHostConfig cfg)
        {
            ConfigManager <NTServiceHostConfig> configMgt = new ConfigManager <NTServiceHostConfig>(Program.AppConfigFileName);

            if (configMgt.Load() && configMgt.Config != null)
            {
                Console.WriteLine("Load config file succeeded. " + configMgt.FileName);

                cfg = configMgt.Config;
                Console.WriteLine("Service name: " + cfg.ServiceName);
            }
            else
            {
                Console.WriteLine("Load config file failed. " + configMgt.FileName);
                Console.WriteLine(configMgt.LastErrorInfor);

                cfg             = new NTServiceHostConfig();
                cfg.ServiceName = "[NULL]";
                cfg.Description = "[Cannot read configuration file of XDS Gateway Application Host]";
            }
        }
예제 #2
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);
            }
        }