Error when Package Refresh runs: Unable to map HTTP virtual directory: pkggroup<...>

book

Article ID: 171925

calendar_today

Updated On:

Products

Management Platform (Formerly known as Notification Server)

Issue/Introduction

When Package Refresh is run, or if a package is manually updated (Update Distribution Points) the process fails.

The following warnings/errors (excerpts) are seen flowing through the SMP logs

Description: [1/3] Failed while trying to map root package virtual directory: PackageShare

Failed to add an application: 'Object reference not set to an instance of an object.'
   [Altiris.NS.Exceptions.AeXException @ Altiris.NS]
   at Altiris.NS.Utilities.AgentSite.AgentSiteApplication.AddApplication()
   at Altiris.NS.Utilities.AgentSite.AgentSiteApplication.Execute()
   at Altiris.NS.StandardItems.SoftwareDelivery.SWDSupport.EnsurePackageShareVirtualDirectory()

Object reference not set to an instance of an object.
   [System.NullReferenceException @ Altiris.NS]
   at Altiris.NS.Utilities.AgentSite.AgentSiteApplication.AddApplication()

Description: Failed while trying to map http virtual directory for pkggroup_mnitigiuzg3daprqqv2uxwea6wt4i6kd.  Attempt 1, will retry. Exception:System.ArgumentException: Metabase Url does not exists: iis://localhost/W3SVC/2/Root/Altiris/PackageShare
Parameter name: uri
   at Altiris.NS.WebAdmin.WebMetaApplication.ThrowMetabaseUrlDoesNotExists(Uri uri)
   at Altiris.NS.WebAdmin.WebMetaApplication.ServerMgr.GetSite(SiteCollection col, Uri uri)
   at Altiris.NS.WebAdmin.WebMetaApplication.ServerMgr..ctor(Uri uri)
   at Altiris.NS.WebAdmin.WebMetaApplication..ctor(String sMetabaseUrl)
   at Altiris.NS.StandardItems.SoftwareDelivery.SWDSupport.MapHttpVirtualDirectory(String directoryName, String pathName, String userName, String userPassword, String packagesMetabaseUrl, Boolean deleteLegacyVd, Guid packageId)

  
Description: Unable to map HTTP virtual directory: pkggroup_mnitigiuzg3daprqqv2uxwea6wt4i6kd

Metabase Url does not exists: iis://localhost/W3SVC/2/Root/Altiris/PackageShare
Parameter name: uri
   [System.ArgumentException @ Altiris.Common]
   at Altiris.NS.WebAdmin.WebMetaApplication.ThrowMetabaseUrlDoesNotExists(Uri uri)
   at Altiris.NS.WebAdmin.WebMetaApplication.ServerMgr.GetSite(SiteCollection col, Uri uri)
   at Altiris.NS.WebAdmin.WebMetaApplication.ServerMgr..ctor(Uri uri)
   at Altiris.NS.WebAdmin.WebMetaApplication..ctor(String sMetabaseUrl)
   at Altiris.NS.StandardItems.SoftwareDelivery.SWDSupport.MapHttpVirtualDirectory(String directoryName, String pathName, String userName, String userPassword, String packagesMetabaseUrl, Boolean deleteLegacyVd, Guid packageId)

Exception logged from:
   at Altiris.NS.StandardItems.SoftwareDelivery.SWDSupport.MapHttpVirtualDirectory(String, String, String, String, String, Boolean, System.Guid)
   at Altiris.NS.StandardItems.SoftwareDelivery.SWDSupport.CreatePackageVirtualDirectory(Altiris.NS.StandardItems.SoftwareDelivery.PackageItem, String, String)
   at Altiris.NS.StandardItems.SoftwareDelivery.SWDSupport.SetupDirectoriesUnc(Altiris.NS.StandardItems.SoftwareDelivery.PackageItem, String, String, System.Collections.Generic.List<String>)
   at Altiris.NS.StandardItems.SoftwareDelivery.SWDSupport.CreateSharesAndSnapshot(Altiris.NS.StandardItems.SoftwareDelivery.SWDSupport+DistributionPointsPackageArea)
   at Altiris.NS.StandardItems.SoftwareDelivery.SWDSupport.ManageDistributionPoints(Altiris.NS.StandardItems.SoftwareDelivery.PackageItem, Boolean)
   at Altiris.NS.StandardItems.SoftwareDelivery.SWDSupport.ManageDistributionPoints(System.Guid)
   at Altiris.NS.StandardItems.SoftwareDelivery.PackageManager.ManageDistributionPointsThreadProc(Object)
   at Altiris.Common.Threading.LocalThreadPool.ExecuteWorkerRequest(Altiris.Common.Threading.LocalThreadPool+LocalThreadPoolWorkerState, Altiris.Common.Threading.LocalThreadPool+UserWorkItem)
   at Altiris.NS.Threading.NSThreadPool.ExecuteWorkerRequest(Altiris.Common.Threading.LocalThreadPool+LocalThreadPoolWorkerState, Altiris.Common.Threading.LocalThreadPool+UserWorkItem)
   at Altiris.Common.Threading.LocalThreadPool.ThreadPoolProc(Object)
   at System.Threading.ThreadHelper.ThreadStart(Object)

Cause

A recent attempt to remove/discontinue CEM (Cloud Enabled Management) was done incorrectly. The "Symantec Agent" web site in IIS was manually deleted which orphaned elements still in the registry and subsequently invoked during package refresh.
 
 Specifically an attempt to resolve the package group in the no longer existing web site identified as "iis://localhost/W3SVC/2/Root/Altiris/PackageShare"

Environment

Management Platform 8.1 RU6

Resolution

- Follow HOWTO98774 and remove the registry elements identified.  The rest of the article explains how to recreate the CEM web site if it is corrupted or problematic. In this case the two registry elements (pointing to missing/deleted IIS info) must be deleted.

- Restart the Altiris Service