Error when deploying to IIS6 on Win Server 2003 R2 SP2 32 Bit from Win7 64

tobiasbunyan's Avatar

tobiasbunyan

31 Dec, 2012 02:29 PM

I get a COM exception related to the deployment of a website on the as-described tentacle platform.

I tried to install the Windows Management Framework but the install told me that it was already present. I am running the server on my workstation (Win 7 64 bit) at the moment for evaluation I'm not aware of any other pre-requisites? I can't think of what the problem here might be. Things I've found relating to this class suggest that its related to the IIS7 configuration system, but IIS7 is not installed on this machine. Not sure how Octopus decides what convention to use.

I am currently evaluating Octopus and hoping to get management to pay for a licensce for us.

The full error log is below:

2012-12-31 13:49:56 INFO Updating IIS website named 'Default Web Site/RetailRota'2012-12-31 13:49:56 ERROR System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {2B72133B-3F5B-4602-8952-803546CE3344} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). at Microsoft.Web.Administration.ConfigurationManager.CreateWritableAdminManager(WebConfigurationMap webConfigMap, String configPathToEdit, Boolean isAdminConfig) at Microsoft.Web.Administration.ConfigurationManager.CreateConfiguration(WebConfigurationMap configMap, String configPathToEdit, Boolean isAdminConfig) at Microsoft.Web.Administration.ConfigurationManager.GetConfiguration(String rawConfigurationPath, String cacheKey, Boolean isAdminConfig) at Microsoft.Web.Administration.ConfigurationManager.GetApplicationHostConfiguration() at Microsoft.Web.Administration.ServerManager.get_SitesSection() at Microsoft.Web.Administration.ServerManager.get_Sites() at Octopus.Tentacle.Deployment.Integration.Iis.WebServerSevenSupport.FindVirtualDirectory(String webSiteName, String virtualDirectoryPath, Action`1 found) in c:\w\e6923628be6eaf72\source\Octopus.Tentacle\Deployment\Integration\Iis\WebServerSevenSupport.cs:line 79 at Octopus.Tentacle.Deployment.Integration.Iis.WebServerSevenSupport.ChangeHomeDirectory(String webSiteName, String virtualDirectoryPath, String newWebRootPath) in c:\w\e6923628be6eaf72\source\Octopus.Tentacle\Deployment\Integration\Iis\WebServerSevenSupport.cs:line 68 at Octopus.Tentacle.Deployment.Integration.Iis.InternetInformationServer.OverwriteHomeDirectory(String iisWebSiteNameAndVirtualDirectory, String path) in c:\w\e6923628be6eaf72\source\Octopus.Tentacle\Deployment\Integration\Iis\InternetInformationServer.cs:line 39 at Octopus.Tentacle.Deployment.Conventions.IisWebSite.Install(ConventionContext context) in c:\w\e6923628be6eaf72\source\Octopus.Tentacle\Deployment\Conventions\IisWebSite.cs:line 54 at Octopus.Tentacle.Deployment.DeploymentController.RunInstallConventions(ConventionContext context) in c:\w\e6923628be6eaf72\source\Octopus.Tentacle\Deployment\DeploymentController.cs:line 116 at Octopus.Tentacle.Deployment.DeploymentController.Execute(PackageMetadata package, VariableDictionary variables, IActivityLog log) in c:\w\e6923628be6eaf72\source\Octopus.Tentacle\Deployment\DeploymentController.cs:line 612012-12-31 13:49:56 ERROR Running rollback conventions...

  1. 1 Posted by tobiasbunyan on 31 Dec, 2012 02:32 PM

    tobiasbunyan's Avatar

    Also, from event log:

    2012-12-31 13:42:33,443 [4] ERROR Octopus [(null)] - Error while executing job: Retrieving the COM class factory for component with CLSID {2B72133B-3F5B-4602-8952-803546CE3344} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
    System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {2B72133B-3F5B-4602-8952-803546CE3344} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
    at Microsoft.Web.Administration.ConfigurationManager.CreateWritableAdminManager(WebConfigurationMap webConfigMap, String configPathToEdit, Boolean isAdminConfig) at Microsoft.Web.Administration.ConfigurationManager.CreateConfiguration(WebConfigurationMap configMap, String configPathToEdit, Boolean isAdminConfig) at Microsoft.Web.Administration.ConfigurationManager.GetConfiguration(String rawConfigurationPath, String cacheKey, Boolean isAdminConfig) at Microsoft.Web.Administration.ConfigurationManager.GetApplicationHostConfiguration() at Microsoft.Web.Administration.ServerManager.get_SitesSection() at Microsoft.Web.Administration.ServerManager.get_Sites() at Octopus.Tentacle.Deployment.Integration.Iis.WebServerSevenSupport.FindVirtualDirectory(String webSiteName, String virtualDirectoryPath, Action`1 found) in c:\w\e6923628be6eaf72\source\Octopus.Tentacle\Deployment\Integration\Iis\WebServerSevenSupport.cs:line 79 at Octopus.Tentacle.Deployment.Integration.Iis.WebServerSevenSupport.ChangeHomeDirectory(String webSiteName, String virtualDirectoryPath, String newWebRootPath) in c:\w\e6923628be6eaf72\source\Octopus.Tentacle\Deployment\Integration\Iis\WebServerSevenSupport.cs:line 68 at Octopus.Tentacle.Deployment.Integration.Iis.InternetInformationServer.OverwriteHomeDirectory(String iisWebSiteNameAndVirtualDirectory, String path) in c:\w\e6923628be6eaf72\source\Octopus.Tentacle\Deployment\Integration\Iis\InternetInformationServer.cs:line 39 at Octopus.Tentacle.Deployment.Conventions.IisWebSite.Install(ConventionContext context) in c:\w\e6923628be6eaf72\source\Octopus.Tentacle\Deployment\Conventions\IisWebSite.cs:line 54 at Octopus.Tentacle.Deployment.DeploymentController.RunInstallConventions(ConventionContext context) in c:\w\e6923628be6eaf72\source\Octopus.Tentacle\Deployment\DeploymentController.cs:line 116 at Octopus.Tentacle.Deployment.DeploymentController.Execute(PackageMetadata package, VariableDictionary variables, IActivityLog log) in c:\w\e6923628be6eaf72\source\Octopus.Tentacle\Deployment\DeploymentController.cs:line 79 at Octopus.Tentacle.Services.Jobs.Deployment.DeployPackageJobExecutor.Execute(DeployPackageJob job, JobState state) in c:\w\e6923628be6eaf72\source\Octopus.Tentacle\Services\Jobs\Deployment\DeployPackageJobExecutor.cs:line 20 at CallSite.Target(Closure , CallSite , Object , Object , JobState ) at Octopus.Tentacle.Services.Jobs.JobQueue.RunDeploymentsOnBackgroundThread(Object ignored) in c:\w\e6923628be6eaf72\source\Octopus.Tentacle\Services\Jobs\JobQueue.cs:line 79

  2. 2 Posted by tobiasbunyan on 31 Dec, 2012 03:02 PM

    tobiasbunyan's Avatar

    right, having had a prod around with JustDecompile, it would appear that because we have the remote administration web installed on this server, Octopus is assuming that it's IIS 7. This obviously doesn't suffice so do we need to be able to override this with a variable? Possibly in combination with a better detection method?

  3. 3 Posted by tobiasbunyan on 31 Dec, 2012 03:11 PM

    tobiasbunyan's Avatar

    out-of-office-fail

  4. Support Staff 4 Posted by Paul Stovell on 06 Jan, 2013 03:30 AM

    Paul Stovell's Avatar

    Hi Tobias,

    Thanks for the bug report, I've added it to the backlog here: https://trello.com/card/override-the-iis-6-7-detection-code-with-a-...

    In the mean time you may need to resort to using PowerShell in your Deploy.ps1 to update the site manually.

    Paul

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac