diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs index 3fdd6f11..75d832da 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs @@ -3414,7 +3414,6 @@ namespace WebsitePanel.EnterpriseServer public static int GetPackageIdByName(string Name) { - // get Helicon Zoo provider int packageId = -1; List providers = ServerController.GetProviders(); foreach (ProviderInfo providerInfo in providers) @@ -3426,10 +3425,10 @@ namespace WebsitePanel.EnterpriseServer } } - if (-1 == packageId) - { - throw new Exception("Provider not found"); - } + //if (-1 == packageId) + //{ + // throw new Exception("Provider not found"); + //} return packageId; } diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/OperatingSystems/OperatingSystemController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/OperatingSystems/OperatingSystemController.cs index deed780f..37e70846 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/OperatingSystems/OperatingSystemController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/OperatingSystems/OperatingSystemController.cs @@ -412,17 +412,35 @@ namespace WebsitePanel.EnterpriseServer public static bool CheckLoadUserProfile(int serverId) { - int packageId = DataProvider.GetPackageIdByName("IIS70"); - int serviceId = DataProvider.GetServiceIdByProviderForServer(packageId, serverId); - return WebServerController.GetWebServer(serviceId).CheckLoadUserProfile(); - + int packageId = getIISPackageId(); + if (packageId != -1) + { + int serviceId = DataProvider.GetServiceIdByProviderForServer(packageId, serverId); + return WebServerController.GetWebServer(serviceId).CheckLoadUserProfile(); + } + + return false; } + private static int getIISPackageId() + { + int packageId = DataProvider.GetPackageIdByName("IIS80"); + if (packageId == -1) + packageId = DataProvider.GetPackageIdByName("IIS70"); + if (packageId == -1) + packageId = DataProvider.GetPackageIdByName("IIS60"); + + + return packageId; + } public static void EnableLoadUserProfile(int serverId) { - int packageId = DataProvider.GetPackageIdByName("IIS70"); - int serviceId = DataProvider.GetServiceIdByProviderForServer(packageId, serverId); - WebServerController.GetWebServer(serviceId).EnableLoadUserProfile(); + int packageId = getIISPackageId(); + if (packageId != -1) + { + int serviceId = DataProvider.GetServiceIdByProviderForServer(packageId, serverId); + WebServerController.GetWebServer(serviceId).EnableLoadUserProfile(); + } } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/IIs70.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/IIs70.cs index 78e4f002..a51c4dff 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/IIs70.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/IIs70.cs @@ -4046,7 +4046,12 @@ namespace WebsitePanel.Providers.Web { using (var srvman = new ServerManager()) { - return srvman.ApplicationPools["WebsitePanel Server"].ProcessModel.LoadUserProfile; + string poolName = Environment.GetEnvironmentVariable("APP_POOL_ID", EnvironmentVariableTarget.Process); + ApplicationPool pool = srvman.ApplicationPools[poolName]; + if (pool == null) + throw new Exception("ApplicationPool pool is null" + poolName); + + return pool.ProcessModel.LoadUserProfile; } } @@ -4055,7 +4060,12 @@ namespace WebsitePanel.Providers.Web { using (var srvman = new ServerManager()) { - srvman.ApplicationPools["WebsitePanel Server"].ProcessModel.LoadUserProfile = true; + string poolName = Environment.GetEnvironmentVariable("APP_POOL_ID", EnvironmentVariableTarget.Process); + ApplicationPool pool = srvman.ApplicationPools[poolName]; + if (pool == null) + throw new Exception("ApplicationPool pool is null" + poolName); + + pool.ProcessModel.LoadUserProfile = true; // save changes srvman.CommitChanges(); }