diff --git a/PublishSite/PublishForm.cs b/PublishSite/PublishForm.cs index 61ad2fe9..a3d4bf42 100644 --- a/PublishSite/PublishForm.cs +++ b/PublishSite/PublishForm.cs @@ -354,8 +354,57 @@ namespace PublishSite #region 服务的创建与删除 + + private string ExecuteCommand(string command) + { + ProcessStartInfo procStartInfo = + new System.Diagnostics.ProcessStartInfo("cmd", "/c " + command); + + procStartInfo.RedirectStandardOutput = true; + procStartInfo.UseShellExecute = false; + procStartInfo.CreateNoWindow = true; + + System.Diagnostics.Process proc = new System.Diagnostics.Process(); + proc.StartInfo = procStartInfo; + proc.Start(); + + return proc.StandardOutput.ReadToEnd(); + } + private void createService_Btn_Click(object sender, EventArgs e) { + var serviceName = serviceNameTBox.Text.Trim(); + + var apiBinPath = exePathTbox.Text.Trim(); + + var apiPort = servicePortTBox.Text.Trim(); + + var envName = en_TBox.Text.Trim(); + + var serviceDisplayName = serviceDisplayNameTBox.Text.Trim(); + + + + if (ServiceController.GetServices().Any(t => t.ServiceName == serviceName)) + { + WinformLog($"设置的服务名称已存在,请更换", Color.Red); + + return; + } + + + + + var createTestStr = $"sc create {serviceName} binPath= \"{apiBinPath} --urls=\"http://127.0.0.1:{apiPort}\" --env {envName}\" DisplayName= \"{serviceDisplayName}\" start= auto"; + + WinformLog(createTestStr); + + string output = ExecuteCommand(createTestStr); + + WinformLog(output); + + + WinformLog("服务创建执行结束"); } diff --git a/Start/Main.cs b/Start/Main.cs index 28005986..db7656cb 100644 --- a/Start/Main.cs +++ b/Start/Main.cs @@ -766,6 +766,8 @@ namespace Start WinformLog($"开始创建服务{serviceName}...", Color.Green); + var createTestStr = $"sc create {serviceName} binPath= \"{apiBinPath} --urls=\"http://127.0.0.1:{apiPort}\" --env CertificateApply\" DisplayName= \"{serviceDisplayName}\" start= auto"; + var createStr = $@"sc create {serviceName} binPath= ""{apiBinPath} --urls=""http://127.0.0.1:{apiPort}"" --env CertificateApply"" DisplayName= ""{serviceDisplayName}"" start= auto"; // 执行 sc create 命令来创建服务