Failed to setup product web node: Unable to create Altiris Virtual directory
search cancel

Failed to setup product web node: Unable to create Altiris Virtual directory

book

Article ID: 268706

calendar_today

Updated On:

Products

IT Management Suite

Issue/Introduction

The customer is trying to install ITMS on a new server. However, after the first attempt, while checking IIS Manager, he can't see the virtual directories that usually expected .

The SIM logs showed the following messages:

Entry 1:

Failed to resolve IIS anonymous user by directory services.

Unknown error (0x80005000)
   [System.Runtime.InteropServices.COMException @ System.DirectoryServices]
   at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
   at System.DirectoryServices.DirectoryEntry.Bind()
   at System.DirectoryServices.DirectoryEntry.get_AdsObject()
   at System.DirectoryServices.PropertyValueCollection.PopulateList()
   at System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName)
   at System.DirectoryServices.PropertyCollection.get_Item(String propertyName)
   at Altiris.NS.Configuration.Core.GetAnonymousUserByDirectoryEntry(Boolean throwOnError)

COM Exception errcode: 0x80005000

Exception logged from: 
   at Altiris.NS.Configuration.Core.GetAnonymousUserByDirectoryEntry(Boolean)
   at Altiris.NS.Configuration.Core.get_IisAnonymousUser()
   at Altiris.NS.Configuration.AsyncDirectoryPermissions.ParsePrincipal(String)
   at Altiris.NS.Configuration.AsyncDirectoryPermissions.SetupDirectories(System.Collections.Generic.ICollection<Altiris.NS.Configuration.AsyncDirectoryPermissions+Entry>, Boolean)
   at Altiris.NS.Configuration.AsyncDirectoryPermissions.ApplyAsync(System.Collections.Generic.ICollection<Altiris.NS.Configuration.AsyncDirectoryPermissions+Entry>, Boolean)
   at System.Threading.Tasks.Task<TResult>.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object, Boolean)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task&)
   at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()

-----------------------------------------------------------------------------------------------------
Date: 6/15/2023 3:42:10 PM, Tick Count: 283089406 (3.06:38:09.4060000), Size: 2.23 KB
Process: AeXSvc (7812), Thread ID: 9, Module: Altiris.NS.dll
Priority: 2, Source: Altiris.NS.Configuration.Core.GetAnonymousUserByDirectoryEntry


Entry 2:

Cannot obtain the anonymous user for the Altiris website, falling back to anonymous user: IUSR

Failed to resolve IIS anonymous user by WMI query.
   [System.InvalidOperationException @ Altiris.NS]
   at Altiris.NS.Configuration.Core.GetAnonymousUserByWmi(Boolean throwOnError)
   at Altiris.NS.Configuration.Core.get_IisAnonymousUser()

Invalid namespace 
   [System.Management.ManagementException @ System.Management]
   at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
   at System.Management.ManagementScope.InitializeGuts(Object o)
   at System.Management.ManagementScope.Initialize()
   at System.Management.ManagementObjectSearcher.Initialize()
   at System.Management.ManagementObjectSearcher.Get()
   at Altiris.NS.Configuration.Core.GetAnonymousUserByWmi(Boolean throwOnError)

Management Exception details: code=InvalidNamespace (0x8004100E)

Exception logged from: 
   at Altiris.NS.Configuration.Core.get_IisAnonymousUser()
   at Altiris.NS.Configuration.AsyncDirectoryPermissions.ParsePrincipal(String)
   at Altiris.NS.Configuration.AsyncDirectoryPermissions.SetupDirectories(System.Collections.Generic.ICollection<Altiris.NS.Configuration.AsyncDirectoryPermissions+Entry>, Boolean)
   at Altiris.NS.Configuration.AsyncDirectoryPermissions.ApplyAsync(System.Collections.Generic.ICollection<Altiris.NS.Configuration.AsyncDirectoryPermissions+Entry>, Boolean)
   at System.Threading.Tasks.Task<TResult>.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object, Boolean)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task&)
   at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()

-----------------------------------------------------------------------------------------------------
Date: 6/15/2023 3:42:10 PM, Tick Count: 283089468 (3.06:38:09.4680000), Size: 2.27 KB
Process: AeXSvc (7812), Thread ID: 9, Module: Altiris.NS.dll
Priority: 1, Source: Core.IisAnonymousUser


Entry 3:

Failed to setup product web node: 

Unable to create Altiris Virtual directory 
   [System.InvalidOperationException @ Altiris.Common]
   at Altiris.Common.IISUtils.CreateAltirisWebVirtualDirectory(String virtualDirectory, String pathName, Boolean allowAnon)
   at Altiris.NS.StandardItems.Product.ProductInstallation.InstallProductWebNode(XmlNode webNode, String productInstallationDirectory)

Altiris Virtual directory does not exist
   [System.InvalidOperationException @ Altiris.Common]
   at Altiris.Common.IISUtils.CreateAltirisWebVirtualDirectory(String virtualDirectory, String pathName, Boolean allowAnon)

Unknown error (0x80005000)
   [System.Runtime.InteropServices.COMException @ System.DirectoryServices]
   at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
   at System.DirectoryServices.DirectoryEntry.Bind()
   at System.DirectoryServices.DirectoryEntry.RefreshCache()
   at Altiris.Common.IISUtils.CreateAltirisWebVirtualDirectory(String virtualDirectory, String pathName, Boolean allowAnon)

COM Exception errcode: 0x80005000

Exception logged from: 
   at Altiris.NS.StandardItems.Product.ProductInstallation.InstallProductWebNode(System.Xml.XmlNode, String)
   at Altiris.NS.StandardItems.Product.ProductInstallation.OnInstallProductWebs(System.Xml.XmlNode)
   at Altiris.NS.StandardItems.Product.ProductInstallation.OnInstallProduct(System.Xml.XmlNode)
   at Altiris.NS.StandardItems.Product.CoreSolutionInstallation.OnInstallProduct(System.Xml.XmlNode)
   at Altiris.NS.StandardItems.Product.ProductInstallation.InstallProduct()
   at Altiris.NS.StandardItems.Product.CoreSolutionInstallation.InstallProduct()
   at Altiris.NS.Installation.ProductConfigurationWorker.ConfigureProductInternal(String, Boolean, Altiris.NS.Serialization.SerializationMode)
   at Altiris.NS.Installation.ProductConfigurationWorker.ConfigureProductBatchInternal()
   at Altiris.NS.Installation.ProductConfigurationWorker.ConfigureProductBatch()
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object)
   at System.Threading.ThreadHelper.ThreadStart()

-----------------------------------------------------------------------------------------------------
Date: 6/15/2023 4:33:35 PM, Tick Count: 286174796 (3.07:29:34.7960000), Size: 2.76 KB
Process: AeXSvc (7812), Thread ID: 34, Module: Altiris.NS.StandardItems.dll
Priority: 1, Source: Altiris.NS.StandardItems.Product.ProductInstallation.InstallProductWebNode

 

Environment

ITMS 8.6, 8.7

Cause

IIS installation was corrupted

Resolution

Since some of the virtual directories were created, but many were missing, the following was suggested:

  1. Make sure to add the prerequisites (IIS and its components) needed for the SMP Server to work. Also make sure IIS6 combability features for IIS are all selected:
  2. Remove and install IIS again
  3. Try again to install ITMS and check if the virtual directories in IIS are created.
  4. If the issue still persists, you may need to do a bit more cleanup:

    Remove the IIS app pools and virtual directories using the appcmd. There were a couple of virtual directories which did not exist and uninstall would not remove. 


    See:
    https://learn.microsoft.com/en-us/iis/get-started/getting-started-with-iis/getting-started-with-appcmdexe