All reports in the Management Console show "Unknown Error" after upgrade.

book

Article ID: 171664

calendar_today

Updated On:

Products

Management Platform (Formerly known as Notification Server)

Issue/Introduction

 All reports in the Management Console show "Unknown Error" after upgrading to 8.1 RU6 version.

RU = Release Update

"Failed to resolve resource query from the xml configuration.

An unexpected exception has occurred during CreateInstance.
 Assembly: Altiris.Reporting.Parameters, Version=7.1.0.0, Culture=neutral, PublicKeyToken=d516cb311cfb6e4f

 Type: Altiris.Reporting.Parameters.ParameterTypes.BasicParameterTypeItem
   [Altiris.NS.AeXClassActivatorException @ Altiris.NS]
   at Altiris.NS.ClassActivator.CreateInstance(String assembly, String type, Object[] parameters)
   at Altiris.NS.ItemManagement.Item.CreateInstance(String strClassAssembly, String strClassType, Object[] parameters, Guid itemGuid)
   at Altiris.NS.ItemManagement.Item.GetItemInternal(Guid itemGuid, IEnumerable`1 accessPermissions, ItemLoadFlags itemLoadFlags, Boolean& cacheHit)
   at Altiris.NS.ItemManagement.Item.GetItemInternal(Guid itemGuid, IEnumerable`1 accessPermissions, ItemLoadFlags itemLoadFlags)
   at Altiris.Parameters.Parameter.get_ParameterType()
   at Altiris.Parameters.Parameter.FromXml(XmlNode xmlNode)
   at Altiris.Parameters.Parameter.Load(XmlNode xmlNode)
   at Altiris.Parameters.ParameterCollection.b__2(XmlNode parameterNode)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at Altiris.Parameters.ParameterCollection.FromXml(XmlNode xmlNode)
   at Altiris.Reporting.DataSource.ResourceDS.RModel.ResourceQuery.FromXml(XmlNode xml)
   at Altiris.Reporting.DataSource.ResourceDS.RModel.ResourceQuery..ctor(XmlNode node)
   at Altiris.Reporting.DataSource.ResourceDataSource.ValidateXmlQuery()

Could not load file or assembly 'Altiris.Reporting.Parameters, Version=7.1.0.0, Culture=neutral, PublicKeyToken=d516cb311cfb6e4f' or one of its dependencies. The system cannot find the file specified.
   [System.IO.FileNotFoundException @ mscorlib]
   at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection)
   at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
   at System.Reflection.Assembly.Load(String assemblyString)
   at Altiris.NS.ClassActivator.LoadAssembly(String assembly, Boolean throwOnFailure)
   at Altiris.NS.ClassActivator.GetType(String assemblyName, String typeName, Boolean throwOnError)
   at Altiris.NS.ClassActivator.CreateInstance(String assembly, String type, Object[] parameters)

Exception logged from:
   at Altiris.Reporting.DataSource.ResourceDataSource.ValidateXmlQuery()
   at Altiris.Reporting.DataSource.ResourceDataSource.get_SourceResourceQuery()
   at Altiris.NS.StandardItems.Collection.CollectionQueryParser.GetQuery(Altiris.NS.ItemManagement.IItem, Altiris.Reporting.DataSource.ResourceDataSource, String&)
   at Altiris.NS.StandardItems.Collection.CollectionQueryParser.Parse(Altiris.NS.StandardItems.Collection.NSDataSrcBasedResourceCollection, Boolean&)
   at Altiris.NS.StandardItems.Collection.NSDataSrcBasedResourceCollection.BuildDataSourceQuery(System.Text.StringBuilder)
   at Altiris.NS.StandardItems.Collection.NSDataSrcBasedResourceCollection.DeltaUpdateMembership()
   at Altiris.NS.StandardItems.Collection.NSDataSrcBasedResourceCollection.UpdateMembershipCore(Altiris.NS.StandardItems.Collection.ICollectionUpdateMessage)
   at Altiris.NS.ContextManagement.<>c__DisplayClass16.b__15(Altiris.Database.IDatabaseContext)
   at Altiris.Database.DatabaseContext.RetryAction(Int32, Boolean, Altiris.Common.Delegates.Getter, System.Action, System.Action, Altiris.Database.DeadlockRetryArgs&, Exception&, Boolean)
   at Altiris.Database.DatabaseContext.PerformWithDeadlockRetryHelper(Int32, Boolean, Altiris.Common.Delegates.Getter, System.Action, System.Action, Boolean)
   at Altiris.Database.DatabaseContext.PerformWithDeadlockRetry(Int32, Boolean, System.Nullable, Boolean, System.Action, System.Action)
   at Altiris.NS.StandardItems.Collection.NSResourceCollectionBase.UpdateMembershipImpl(Altiris.NS.StandardItems.Collection.ICollectionUpdateMessage)
   at Altiris.NS.StandardItems.Collection.NSResourceCollectionBase.UpdateMembership(Altiris.NS.StandardItems.Collection.ICollectionUpdateMessage)
   at Altiris.NS.StandardItems.Collection.DeltaCollectionUpdateSchedule.PerformUpdate(Altiris.NS.Logging.EventLog+IMeasureOperation, System.Collections.Generic.ICollection)
   at Altiris.NS.StandardItems.Collection.DeltaCollectionUpdateSchedule.DeltaUpdateCollections(Altiris.NS.StandardItems.Collection.DeltaCollectionUpdateSchedule+DetectedChanges)
   at Altiris.NS.StandardItems.Collection.DeltaCollectionUpdateSchedule.OnScheduleImpl()
   at Altiris.NS.StandardItems.Collection.DeltaCollectionUpdateSchedule.OnSchedule(String)
   at Altiris.NS.StandardItems.ContainerUpdateSchedule.RunUpdateScheduleImpl(String, String, System.Guid)
   at Altiris.NS.StandardItems.ContainerUpdateSchedule.RunFilterDeltaUpdate(String)
   at Altiris.NS.StandardItems.ContainerUpdateSchedule.RunDeltaUpdate(String)
   at Altiris.NS.StandardItems.ContainerUpdateSchedule.OnSchedule(String)
   at Altiris.NS.Scheduling.ScheduleService.ProcessScheduleImpl(String, Altiris.Profiling.CodeProfiling.CodeProfiler, Altiris.NS.Security.SecurityContext, System.Guid)
   at Altiris.NS.Scheduling.ScheduleService+<>c__DisplayClass4.b__0(Altiris.NS.Security.SecurityContext)
   at Altiris.NS.Security.SecurityContext+<>c__DisplayClass30.b__2f(Altiris.NS.Security.SecurityContext)
   at Altiris.NS.Security.SecurityContext.ExecuteAs(Altiris.NS.Security.EExecuteAs, TK, System.Func, System.Func)
   at Altiris.NS.Scheduling.ScheduleService.ProcessSchedule(String)
   at Altiris.NS.Scheduling.ScheduleService.ProcessScheduleWithCleanup(String, Boolean)
   at Altiris.Diagnostics.RemoteControl.ScheduleServiceProxy.ProcessScheduleImpl(String, Boolean)
   at Altiris.Diagnostics.RemoteControl.ScheduleServiceProxy.ProcessScheduleThreadProc(Object)
   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 Altiris.Diagnostics.RemoteControl.ScheduleServiceProxy.ProcessSchedule(String, Boolean)
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr, Object[], Object, Object[]&)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage)
   at System.Runtime.Remoting.Messaging.ServerObjectTerminatorSink.SyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage)
   at System.Runtime.Remoting.Messaging.ServerContextTerminatorSink.SyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage)
   at System.Runtime.Remoting.Channels.CrossContextChannel.SyncProcessMessageCallback(Object[])
   at System.Runtime.Remoting.Channels.ChannelServices.DispatchMessage(System.Runtime.Remoting.Channels.IServerChannelSinkStack, System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Messaging.IMessage&)
   at System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage(System.Runtime.Remoting.Channels.IServerChannelSinkStack, System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Channels.ITransportHeaders, System.IO.Stream, System.Runtime.Remoting.Messaging.IMessage&, System.Runtime.Remoting.Channels.ITransportHeaders&, System.IO.Stream&)
   at System.Runtime.Remoting.Channels.SoapServerFormatterSink.ProcessMessage(System.Runtime.Remoting.Channels.IServerChannelSinkStack, System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Channels.ITransportHeaders, System.IO.Stream, System.Runtime.Remoting.Messaging.IMessage&, System.Runtime.Remoting.Channels.ITransportHeaders&, System.IO.Stream&)
   at System.Runtime.Remoting.MetadataServices.SdlChannelSink.ProcessMessage(System.Runtime.Remoting.Channels.IServerChannelSinkStack, System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Channels.ITransportHeaders, System.IO.Stream, System.Runtime.Remoting.Messaging.IMessage&, System.Runtime.Remoting.Channels.ITransportHeaders&, System.IO.Stream&)
   at System.Runtime.Remoting.Channels.Tcp.TcpServerTransportSink.ServiceRequest(Object)
   at System.Runtime.Remoting.Channels.SocketHandler.ProcessRequestNow()
   at System.Runtime.Remoting.Channels.SocketHandler.BeginReadMessageCallback(IAsyncResult)
   at System.Net.LazyAsyncResult.Complete(IntPtr)
   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.Net.ContextAwareResult.Complete(IntPtr)
   at System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
","Altiris.Reporting.DataSource.ResourceDataSource.ValidateXmlQuery","Altiris.Reporting.DataSource.dll","104","Errors"

Cause

Fusion registry entry pointing to the Assembly publishing policy is missing.
Why the .NET Framework managed registry entry is missing is unknown.

Environment

SMP 8.1 RU6

SMP = Symantec Management Platform

Resolution

To find the missing registry entry perform the following.

  1. Download and start Process Monitor.
  2. Restart IIS (Admin Command Line > iisreset) and reload the Management Console to reproduce the error.
    1. The iisreset forces the assemblies to be reloaded.
  3. Stop and save the Process Monitor trace.
  4. Filter the process Monitor trace for "policy.7.1.Altiris.Reporting.Parameters" or similar strings.
  5. These steps may need to be repeated to rebuild the full registry entry step-by-step.

Recreate the registry entry for the Assembly Publishing policy.
Below is an example only (not valid for all environments):

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion\PublisherPolicy\Default\v4.0_policy.7.1.Altiris.Reporting.Parameters__d516cb311cfb6e4f\1\8.1.4528.0\200
String: ConfigFilePath
Value: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\policy.7.1.Altiris.Reporting.Parameters\v4.0_8.1.4528.0__d516cb311cfb6e4f\policy.7.1.Altiris.Reporting.Parameters.config