public Models.ResponseMessage.ResponseMessage CreateApplication(Application app) { Microsoft.Web.Administration.ServerManager iisWeb = new Microsoft.Web.Administration.ServerManager(); iisWeb.Sites.Add(app.appName, "http", "*:80", app.appFolder); iisWeb.CommitChanges(); Microsoft.Web.Administration.Site site = iisWeb.Sites[app.appName]; site.Stop(); site.ApplicationDefaults.ApplicationPoolName = pool; site.Start(); iisWeb.CommitChanges(); Models.ResponseMessage.ResponseMessage rm = new ResponseMessage.ResponseMessage(); rm.type = "success"; rm.message = "Anwendung erfolgreich erstellt"; return(rm); }
public static void Delete(string applicationPool) { using(var manager = new Microsoft.Web.Administration.ServerManager()) { manager.ApplicationPools.Single(x => x.Name.ToLower() == applicationPool.ToLower()).Delete(); manager.CommitChanges(); } }
public static void Delete(string applicationPool) { using (var manager = new Microsoft.Web.Administration.ServerManager()) { manager.ApplicationPools.Single(x => x.Name.ToLower() == applicationPool.ToLower()).Delete(); manager.CommitChanges(); } }
private void btnSave_Click(object sender, EventArgs e) { try { var appPath = Application.StartupPath; var serverName = cmbSqlInstances.SelectedItem.ToString(); var userName = txtUserName.Text; var password = txtPassword.Text; var databaseName = txtDatabaseName.Text; var bakFilePath = appPath + "\\db.bak"; string sql = $@"RESTORE DATABASE {databaseName} FROM DISK = '{bakFilePath}' WITH FILE = 1, MOVE 'AdventureWorks2014_Data' TO '{appPath}\{databaseName}.mdf', MOVE 'AdventureWorks2014_Log' TO '{appPath}\{databaseName}.ldf';" ; SqlConnection con = new SqlConnection($@"Server={serverName};Database=master;User Id={userName}; Password={password};Integrated Security=True"); SqlCommand command = new SqlCommand(sql, con); con.Open(); command.ExecuteNonQuery(); MessageBox.Show("Veri Tabanı Yüklendi. Tamama tıkladığınızda web sitesi açılacaktır."); con.Close(); con.Dispose(); Microsoft.Web.Administration.ServerManager iisManager = new Microsoft.Web.Administration.ServerManager(); var check = iisManager.Sites.Any(x => x.Name == "TestSite"); if (!check) { iisManager.Sites.Add("TestSite", "http", "*:4545:", appPath + "\\Publish"); iisManager.CommitChanges(); } Configuration config = OpenConfigFile(appPath + "/Publish/web.config"); ConnectionStringsSection sec = (ConnectionStringsSection)config.GetSection("connectionStrings"); sec.ConnectionStrings["Context"].ConnectionString = $@"metadata=res://*/Models.AdventureWorksModel.csdl|res://*/Models.AdventureWorksModel.ssdl|res://*/Models.AdventureWorksModel.msl;provider=System.Data.SqlClient;provider connection string=" + HttpUtility.HtmlDecode(""") + $"data source={serverName};initial catalog={databaseName};persist security info=True;user id={userName};password={password};MultipleActiveResultSets=True;App=EntityFramework" + HttpUtility.HtmlDecode(""") + ";"; config.Save(); ProcessStartInfo sInfo = new ProcessStartInfo("http://localhost:4545"); Process.Start(sInfo); Application.Exit(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
void publish(ExecutionLogInterface log, bool filesOnly) { log.Log("Starting Web Site Publishing..."); _publicationInError = false; try { string publicationDirectory = _configuration.WebPublicationDirectory; string sourceDirectory = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "Web"); #if DEBUG sourceDirectory = Path.GetDirectoryName(Application.ExecutablePath) + @"\..\..\..\SealWebServer\"; #endif //Copy installation directory log.Log("Copying files from '{0}' to '{1}'", sourceDirectory, publicationDirectory); FileHelper.CopyDirectory(sourceDirectory, publicationDirectory, true); //Copy license files if any foreach (var path in Directory.GetFiles(Path.GetDirectoryName(Application.ExecutablePath), "*.slc")) { File.Copy(path, Path.Combine(Path.Combine(publicationDirectory, "bin"), Path.GetFileName(path)), true); } //Check web config... if (!filesOnly || (!File.Exists(Path.Combine(publicationDirectory, "web.config")) && File.Exists(Path.Combine(publicationDirectory, "web.release.config")))) { log.Log("Creating web.config file"); File.Copy(Path.Combine(publicationDirectory, "web.release.config"), Path.Combine(publicationDirectory, "web.config"), true); } if (!filesOnly && !log.IsJobCancelled()) { log.Log("Publishing Site on IIS..."); Microsoft.Web.Administration.ServerManager serverMgr = new Microsoft.Web.Administration.ServerManager(); Microsoft.Web.Administration.Site site = null; if (serverMgr.Sites.Count == 0) { log.Log("Creating Default Web Site"); site = serverMgr.Sites.Add("Default Web Site", "C:\\inetpub\\wwwroot", 80); } else { site = serverMgr.Sites[0]; } Microsoft.Web.Administration.ApplicationPool pool = serverMgr.ApplicationPools.FirstOrDefault(i => i.Name == _configuration.WebApplicationPoolName); if (pool == null) { log.Log("Creating Application Pool"); pool = serverMgr.ApplicationPools.Add(_configuration.WebApplicationPoolName); } pool.ManagedRuntimeVersion = "v4.0"; if (Marshal.SizeOf(typeof(IntPtr)) != 8) { pool.Enable32BitAppOnWin64 = true; //Test if 32bit } pool.ProcessModel.IdentityType = Microsoft.Web.Administration.ProcessModelIdentityType.LocalSystem; if (string.IsNullOrEmpty(_configuration.WebApplicationName)) { _configuration.WebApplicationName = "/"; } var application = site.Applications.FirstOrDefault(i => i.Path == _configuration.WebApplicationName); if (application == null) { log.Log("Creating Application"); application = site.Applications.Add(_configuration.WebApplicationName, _configuration.WebPublicationDirectory); } if (_configuration.WebApplicationName == "/") { Microsoft.Web.Administration.VirtualDirectory vDir = application.VirtualDirectories[0]; vDir.Path = _configuration.WebApplicationName; vDir.PhysicalPath = _configuration.WebPublicationDirectory; } application.ApplicationPoolName = _configuration.WebApplicationPoolName; if (!log.IsJobCancelled()) { serverMgr.CommitChanges(); } log.Log("Web Site has been published successfully."); } } catch (Exception ex) { _publicationInError = true; log.Log("\r\n[UNEXPECTED ERROR RECEIVED]\r\n{0}\r\n", ex.Message); if (ex.InnerException != null) { log.Log("{0}\r\n", ex.InnerException.Message); } } log.Log("Web Site Publishing terminated."); if (log.IsJobCancelled()) { log.Log("Publication has been cancelled."); } }
void publish(ExecutionLogInterface log, bool filesOnly) { log.Log("Starting Web Site Publishing..."); _publicationInError = false; try { string publicationDirectory = _configuration.WebPublicationDirectory; string sourceDirectory = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "Web"); #if DEBUG sourceDirectory = Path.GetDirectoryName(Application.ExecutablePath) + @"\..\..\..\SealWebServer\"; #endif //Copy installation directory log.Log("Copying files from '{0}' to '{1}'", sourceDirectory, publicationDirectory); FileHelper.CopyDirectory(sourceDirectory, publicationDirectory, true); //Check web config... if (!File.Exists(Path.Combine(publicationDirectory, "web.config")) && File.Exists(Path.Combine(publicationDirectory, "web.release.config"))) { log.Log("Creating web.config file"); File.Copy(Path.Combine(publicationDirectory, "web.release.config"), Path.Combine(publicationDirectory, "web.config")); } if (!filesOnly && !log.IsJobCancelled()) { log.Log("Publishing Site on IIS..."); Microsoft.Web.Administration.ServerManager serverMgr = new Microsoft.Web.Administration.ServerManager(); Microsoft.Web.Administration.Site site = null; if (serverMgr.Sites.Count == 0) { log.Log("Creating Default Web Site"); site = serverMgr.Sites.Add("Default Web Site", "C:\\inetpub\\wwwroot", 80); } else site = serverMgr.Sites[0]; Microsoft.Web.Administration.ApplicationPool pool = serverMgr.ApplicationPools.FirstOrDefault(i => i.Name == _configuration.WebApplicationPoolName); if (pool == null) { log.Log("Creating Application Pool"); pool = serverMgr.ApplicationPools.Add(_configuration.WebApplicationPoolName); } pool.ManagedRuntimeVersion = "v4.0"; pool.Enable32BitAppOnWin64 = true; pool.ProcessModel.IdentityType = Microsoft.Web.Administration.ProcessModelIdentityType.LocalSystem; Microsoft.Web.Administration.Application application = site.Applications.FirstOrDefault(i => i.Path == _configuration.WebApplicationName); if (application == null) { log.Log("Creating Application"); application = site.Applications.Add(_configuration.WebApplicationName, _configuration.WebPublicationDirectory); } application.ApplicationPoolName = _configuration.WebApplicationPoolName; if (!log.IsJobCancelled()) { serverMgr.CommitChanges(); } log.Log("Web Site has been published successfully."); } } catch (Exception ex) { _publicationInError = true; log.Log("\r\n[UNEXPECTED ERROR RECEIVED]\r\n{0}\r\n", ex.Message); if (ex.InnerException != null) log.Log("{0}\r\n", ex.InnerException.Message); } log.Log("Web Site Publishing terminated."); if (log.IsJobCancelled()) log.Log("Publication has been cancelled."); }
public override void Install(IDictionary stateSaver) { base.Install(stateSaver); string targetDir = Context.Parameters[Arguments.TargetDir].TrimEnd('\\'); string configFile = Path.Combine(targetDir, Assembly.GetExecutingAssembly().Location + ".config"); System.Configuration.ConfigurationFileMap fileMap = new ConfigurationFileMap(configFile); System.Configuration.Configuration config = System.Configuration.ConfigurationManager.OpenMappedMachineConfiguration(fileMap); AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(delegate(object sender, ResolveEventArgs args) { return Assembly.LoadFile(Path.Combine(targetDir, args.Name + ".dll")); }); UhuruSection section = (UhuruSection)config.GetSection("uhuru"); if (!string.IsNullOrEmpty(Context.Parameters[Arguments.BaseDir])) { section.DEA.BaseDir = Context.Parameters[Arguments.BaseDir]; } if (!string.IsNullOrEmpty(Context.Parameters[Arguments.EnforceUlimit])) { section.DEA.EnforceUsageLimit = Convert.ToBoolean(Context.Parameters[Arguments.EnforceUlimit], CultureInfo.InvariantCulture); } if (!string.IsNullOrEmpty(Context.Parameters[Arguments.FilerPort])) { int port = Convert.ToInt32(Context.Parameters[Arguments.FilerPort], CultureInfo.InvariantCulture); section.DEA.FilerPort = port; FirewallTools.OpenPort(port, "DEA FileServer"); } if (!string.IsNullOrEmpty(Context.Parameters[Arguments.StatusPort])) { int port = Convert.ToInt32(Context.Parameters[Arguments.StatusPort], CultureInfo.InvariantCulture); section.DEA.StatusPort = port; FirewallTools.OpenPort(port, "DEA Status"); } if (!string.IsNullOrEmpty(Context.Parameters[Arguments.HeartBeatInterval])) { section.DEA.HeartbeatIntervalMs = Convert.ToInt32(Context.Parameters[Arguments.HeartBeatInterval], CultureInfo.InvariantCulture); } if (!string.IsNullOrEmpty(Context.Parameters[Arguments.LocalRoute])) { section.DEA.LocalRoute = Context.Parameters[Arguments.LocalRoute]; } else { string ip = string.Empty; foreach (IPAddress address in Dns.GetHostEntry(Dns.GetHostName()).AddressList) { if (address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) { ip = address.ToString(); break; } } section.DEA.LocalRoute = ip; } if (!string.IsNullOrEmpty(Context.Parameters[Arguments.MaxMemory])) { section.DEA.MaxMemoryMB = Convert.ToInt32(Context.Parameters[Arguments.MaxMemory], CultureInfo.InvariantCulture); } if (!string.IsNullOrEmpty(Context.Parameters[Arguments.MessageBus])) { section.DEA.MessageBus = Context.Parameters[Arguments.MessageBus]; } if (!string.IsNullOrEmpty(Context.Parameters[Arguments.MultiTenant])) { section.DEA.Multitenant = Convert.ToBoolean(Context.Parameters[Arguments.MultiTenant], CultureInfo.InvariantCulture); } if (!string.IsNullOrEmpty(Context.Parameters[Arguments.Secure])) { section.DEA.Secure = Convert.ToBoolean(Context.Parameters[Arguments.Secure], CultureInfo.InvariantCulture); } section.Service = null; config.Save(); using (Microsoft.Web.Administration.ServerManager serverManager = new Microsoft.Web.Administration.ServerManager()) { Microsoft.Web.Administration.Configuration authenticationConfig = serverManager.GetApplicationHostConfiguration(); Microsoft.Web.Administration.ConfigurationSection anonymousAuthenticationSection = authenticationConfig.GetSection("system.webServer/security/authentication/anonymousAuthentication"); anonymousAuthenticationSection["enabled"] = true; anonymousAuthenticationSection["userName"] = string.Empty; anonymousAuthenticationSection["password"] = string.Empty; anonymousAuthenticationSection["logonMethod"] = @"ClearText"; serverManager.CommitChanges(); } Registry.LocalMachine.CreateSubKey(@"System\CurrentControlSet\Services\Inetinfo\Parameters").SetValue("DoDirMonitoringForUNC", 1, RegistryValueKind.DWord); }
void publish(ExecutionLogInterface log, bool filesOnly) { log.Log("Starting Web Site Publishing..."); _publicationInError = false; try { string publicationDirectory = _configuration.WebPublicationDirectory; string sourceDirectory = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), _configuration.WebNETCore ? "NETCore" : "Web.Net"); #if DEBUG sourceDirectory = Path.GetDirectoryName(Application.ExecutablePath) + @"\..\..\..\..\SealWebServer\"; if (_configuration.WebNETCore) { sourceDirectory = Path.GetDirectoryName(Application.ExecutablePath) + @"\..\..\..\..\..\Projects.NETCore\SealWebServer\bin\Release\netcoreapp3.1\publish\"; } #endif //Copy installation directory log.Log("Copying files from '{0}' to '{1}'", sourceDirectory, publicationDirectory); FileHelper.CopyDirectory(sourceDirectory, publicationDirectory, true); //Check config... var currentConfig = Path.Combine(publicationDirectory, _configuration.WebNETCore ? "appsettings.json" : "web.config"); var releaseConfig = Path.Combine(publicationDirectory, _configuration.WebNETCore ? "appsettings.Release.json" : "web.release.config"); if (!File.Exists(currentConfig) && File.Exists(releaseConfig)) { log.Log("Creating Config file from '{0}'", releaseConfig); //Replace repository path var configText = File.ReadAllText(releaseConfig); if (_configuration.WebNETCore) { configText = configText.Replace("\"RepositoryPath\": \"\",", string.Format("\"RepositoryPath\": \"{0}\",", _configuration.Repository.RepositoryPath.Replace("\\", "\\\\"))); } else { configText = configText.Replace(@"C:\ProgramData\Seal Report Repository", _configuration.Repository.RepositoryPath); } File.WriteAllText(currentConfig, configText); } if (!filesOnly && !log.IsJobCancelled()) { log.Log("Publishing Site on IIS..."); Microsoft.Web.Administration.ServerManager serverMgr = new Microsoft.Web.Administration.ServerManager(); Microsoft.Web.Administration.Site site = null; if (serverMgr.Sites.Count == 0) { log.Log("Creating Default Web Site"); site = serverMgr.Sites.Add("Default Web Site", "C:\\inetpub\\wwwroot", 80); } else { site = serverMgr.Sites[0]; } Microsoft.Web.Administration.ApplicationPool pool = serverMgr.ApplicationPools.FirstOrDefault(i => i.Name == _configuration.WebApplicationPoolName); if (pool == null) { log.Log("Creating Application Pool"); pool = serverMgr.ApplicationPools.Add(_configuration.WebApplicationPoolName); } pool.ManagedRuntimeVersion = _configuration.WebNETCore ? "" : "v4.0"; if (Marshal.SizeOf(typeof(IntPtr)) != 8) { pool.Enable32BitAppOnWin64 = true; //Test if 32bit } pool.ProcessModel.IdentityType = Microsoft.Web.Administration.ProcessModelIdentityType.LocalSystem; if (string.IsNullOrEmpty(_configuration.WebApplicationName)) { _configuration.WebApplicationName = "/"; } var application = site.Applications.FirstOrDefault(i => i.Path == _configuration.WebApplicationName); if (application == null) { log.Log("Creating Application"); application = site.Applications.Add(_configuration.WebApplicationName, _configuration.WebPublicationDirectory); } if (_configuration.WebApplicationName == "/") { Microsoft.Web.Administration.VirtualDirectory vDir = application.VirtualDirectories[0]; vDir.Path = _configuration.WebApplicationName; vDir.PhysicalPath = _configuration.WebPublicationDirectory; } application.ApplicationPoolName = _configuration.WebApplicationPoolName; if (!log.IsJobCancelled()) { serverMgr.CommitChanges(); } log.Log("Web Site has been published successfully."); } } catch (Exception ex) { _publicationInError = true; log.Log("\r\n[UNEXPECTED ERROR RECEIVED]\r\n{0}\r\n", ex.Message); if (ex.InnerException != null) { log.Log("{0}\r\n", ex.InnerException.Message); } } log.Log("Web Site Publishing terminated."); if (log.IsJobCancelled()) { log.Log("Publication has been cancelled."); } }
public override void Install(IDictionary stateSaver) { base.Install(stateSaver); string targetDir = Context.Parameters[Arguments.TargetDir].TrimEnd('\\'); string configFile = Path.Combine(targetDir, Assembly.GetExecutingAssembly().Location + ".config"); System.Configuration.ConfigurationFileMap fileMap = new ConfigurationFileMap(configFile); System.Configuration.Configuration config = System.Configuration.ConfigurationManager.OpenMappedMachineConfiguration(fileMap); AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(delegate(object sender, ResolveEventArgs args) { return(Assembly.LoadFile(Path.Combine(targetDir, args.Name + ".dll"))); }); UhuruSection section = (UhuruSection)config.GetSection("uhuru"); if (!string.IsNullOrEmpty(Context.Parameters[Arguments.BaseDir])) { section.DEA.BaseDir = Context.Parameters[Arguments.BaseDir]; } if (!string.IsNullOrEmpty(Context.Parameters[Arguments.EnforceUlimit])) { section.DEA.EnforceUsageLimit = Convert.ToBoolean(Context.Parameters[Arguments.EnforceUlimit], CultureInfo.InvariantCulture); } if (!string.IsNullOrEmpty(Context.Parameters[Arguments.FilerPort])) { int port = Convert.ToInt32(Context.Parameters[Arguments.FilerPort], CultureInfo.InvariantCulture); section.DEA.FilerPort = port; FirewallTools.OpenPort(port, "DEA FileServer"); } if (!string.IsNullOrEmpty(Context.Parameters[Arguments.StatusPort])) { int port = Convert.ToInt32(Context.Parameters[Arguments.StatusPort], CultureInfo.InvariantCulture); section.DEA.StatusPort = port; FirewallTools.OpenPort(port, "DEA Status"); } if (!string.IsNullOrEmpty(Context.Parameters[Arguments.HeartBeatInterval])) { section.DEA.HeartbeatIntervalMs = Convert.ToInt32(Context.Parameters[Arguments.HeartBeatInterval], CultureInfo.InvariantCulture); } if (!string.IsNullOrEmpty(Context.Parameters[Arguments.LocalRoute])) { section.DEA.LocalRoute = Context.Parameters[Arguments.LocalRoute]; } else { string ip = string.Empty; foreach (IPAddress address in Dns.GetHostEntry(Dns.GetHostName()).AddressList) { if (address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) { ip = address.ToString(); break; } } section.DEA.LocalRoute = ip; } if (!string.IsNullOrEmpty(Context.Parameters[Arguments.MaxMemory])) { section.DEA.MaxMemoryMB = Convert.ToInt32(Context.Parameters[Arguments.MaxMemory], CultureInfo.InvariantCulture); } if (!string.IsNullOrEmpty(Context.Parameters[Arguments.MessageBus])) { section.DEA.MessageBus = Context.Parameters[Arguments.MessageBus]; } if (!string.IsNullOrEmpty(Context.Parameters[Arguments.MultiTenant])) { section.DEA.Multitenant = Convert.ToBoolean(Context.Parameters[Arguments.MultiTenant], CultureInfo.InvariantCulture); } if (!string.IsNullOrEmpty(Context.Parameters[Arguments.Secure])) { section.DEA.Secure = Convert.ToBoolean(Context.Parameters[Arguments.Secure], CultureInfo.InvariantCulture); } section.Service = null; config.Save(); using (Microsoft.Web.Administration.ServerManager serverManager = new Microsoft.Web.Administration.ServerManager()) { Microsoft.Web.Administration.Configuration authenticationConfig = serverManager.GetApplicationHostConfiguration(); Microsoft.Web.Administration.ConfigurationSection anonymousAuthenticationSection = authenticationConfig.GetSection("system.webServer/security/authentication/anonymousAuthentication"); anonymousAuthenticationSection["enabled"] = true; anonymousAuthenticationSection["userName"] = string.Empty; anonymousAuthenticationSection["password"] = string.Empty; anonymousAuthenticationSection["logonMethod"] = @"ClearText"; serverManager.CommitChanges(); } Registry.LocalMachine.CreateSubKey(@"System\CurrentControlSet\Services\Inetinfo\Parameters").SetValue("DoDirMonitoringForUNC", 1, RegistryValueKind.DWord); }
private static void RemoveWebSite(string siteName) { using (var serverManager = new Microsoft.Web.Administration.ServerManager()) { var testSite = serverManager.Sites.SingleOrDefault(s => s.Name == siteName); if (testSite != null) { serverManager.Sites.Remove(testSite); serverManager.CommitChanges(); } var testAppPool = serverManager.ApplicationPools.SingleOrDefault(s => s.Name == siteName); if (testAppPool != null) { serverManager.ApplicationPools.Remove(testAppPool); serverManager.CommitChanges(); } } }