SMP Server Repair is failing. Index was outside the bounds of the array.
search cancel

SMP Server Repair is failing. Index was outside the bounds of the array.

book

Article ID: 395629

calendar_today

Updated On:

Products

IT Management Suite

Issue/Introduction

Scenario:

You recently upgraded to a newer version of ITMS (IT Management Solution) and installed corresponding cumulative pointfixes.

A repair/reconfigure was attempted due to an issue with the installation of on the SMP Server. However, It failed.

SIM (Symantec Installation Manager) showed the following error message during the initial re-configuration steps:

Configuration Error.

A critical error has occurred.

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Altiris.NS.Exceptions.AeXException: Unable to load the specified item: 8c6ee22e-4d8e-4023-b4e2-bd6e71e55e54 ---> Altiris.NS.Exceptions.AeXException: Unable to load the specified item: 8c6ee22e-4d8e-4023-b4e2-bd6e71e55e54 ---> System.IndexOutOfRangeException: Index was outside the bounds of the array.

Configuration error while attempting: Service configuration.

The NS and SIM Installation logs showed the following error messages:

Entry 1:

Impersonate EXAMPEL\SVC_ALTIRIS to configure services.
-----------------------------------------------------------------------------------------------------
Date: 4/23/2025 6:40:50 PM, Tick Count: 3006312 (00:50:06.3120000), Size: 309 B
Process: ReflectionProxy (9008), Thread ID: 12, Module: Altiris.NS.dll
Priority: 4, Source: ServiceConfiguration.ConfigureServices

Entry 2:

Grant EXAMPLE\SVC_ALTIRIS "Act as part of the Operating System" privilege.
-----------------------------------------------------------------------------------------------------
Date: 4/23/2025 6:40:50 PM, Tick Count: 3006359 (00:50:06.3590000), Size: 329 B
Process: ReflectionProxy (9008), Thread ID: 12, Module: Altiris.NS.dll
Priority: 4, Source: ServiceConfiguration.ConfigureServices

Entry 3:

Grant EXAMPLE\SVC_ALTIRIS "Debug program" privilege.
-----------------------------------------------------------------------------------------------------
Date: 4/23/2025 6:40:50 PM, Tick Count: 3006359 (00:50:06.3590000), Size: 307 B
Process: ReflectionProxy (9008), Thread ID: 12, Module: Altiris.NS.dll
Priority: 4, Source: ServiceConfiguration.ConfigureServices

Entry 4:

Grant EXAMPLE\SVC_ALTIRIS "Logon as batch job" privilege.
-----------------------------------------------------------------------------------------------------
Date: 4/23/2025 6:40:50 PM, Tick Count: 3006359 (00:50:06.3590000),  Size: 312 B
Process: ReflectionProxy (9008), Thread ID: 12, Module: Altiris.NS.dll
Priority: 4, Source: ServiceConfiguration.ConfigureServices

Entry 5:

New application identity user: name=EXAMPLE\SVC_ALTIRIS, sid=S-1-5-21-33755162-1517304931-1609722162-1526653
-----------------------------------------------------------------------------------------------------
Date: 4/23/2025 6:40:50 PM, Tick Count: 3006375 (00:50:06.3750000), Size: 363 B
Process: ReflectionProxy (9008), Thread ID: 12, Module: Altiris.NS.dll
Priority: 4, Source: AppIdentity.PrepareAppIdentityResource

 

Entry 6:

Item save to DB failed: 2e1f478a-4986-4223-9d1e-b5920a63ab41, (fromClone=False, user=EXAMPLE\svc_altiris)

Unable to load the specified item: 8c6ee22e-4d8e-4023-b4e2-bd6e71e55e54
   [AeXException @ Altiris.NS.dll]
   at Altiris.NS.ItemManagement.Item.Load(Guid)
   at Altiris.NS.ItemManagement.Item.LoadInstance<T>(T, Guid, ItemLoadFlags)
   at Altiris.NS.ItemManagement.Item.GetItemInternal(Guid, IEnumerable<Guid>, ItemLoadFlags, out bool)
   at Altiris.NS.ItemManagement.Item.GetItemInternal(Guid, IEnumerable<Guid>, ItemLoadFlags)
   at Altiris.NS.ResourceManagement.ResourceKeyHelper.GetMergingResourceKeysRaw(Guid)
   at Altiris.NS.ResourceManagement.Resource.get_ResourceTypeMergeKeys()
   at Altiris.NS.ResourceManagement.Resource.IsMergingKey(ResourceKey)
   at System.Linq.WhereEnumerableIterator<>.MoveNext()
   at System.Collections.Generic.List<>.InsertRange(int, IEnumerable<T>)
   at Altiris.NS.ResourceManagement.Resource.ExtractMergeKeys()
   at Altiris.NS.ResourceManagement.Resource.DetectDuplicateItems(DuplicateItemArgs)
   at Altiris.NS.ItemManagement.Item.HandleDuplicateItemsInTheDB()
   at Altiris.NS.ItemManagement.Item.Save()

Index was outside the bounds of the array.
   [IndexOutOfRangeException @ System.Data.dll]
   at System.Data.SqlClient.SqlDataReader.CheckHeaderIsReady(int, bool, string)
   at System.Data.SqlClient.SqlDataReader.IsDBNull(int)
   at Altiris.NS.DataAccessLayer.Implementation.Altiris_NS_ResourceManagement_DataAccessLayerResourceManagementDataAccessLayer.spResourceTypeMergeKeyGet1(Guid)
   at Altiris.Resource.ResourceTypeItem.OnLoad()
   at Altiris.NS.ItemManagement.Item.Load(Guid)

Exception logged from:
   at Altiris.Diagnostics.Logging.EventLog.ReportException(int, string, string, Exception, string)
   at Altiris.NS.ItemManagement.Item.Save()
   at Altiris.NS.Utilities.AppIdentity.EnsureAppIdentityCredentialTry(string, RoleResource, SecurityIdentifier)
   at Altiris.NS.ContextManagement.Altiris.NS.ContextManagement.AdminDatabaseContext+<>c_DisplayClass28_0<>.<PerformTransactedDeadlockRetry>b_0(IDatabaseContext)
   at Altiris.Database.RetryActionRequest<>.Perform(bool)
   at Altiris.Database.DatabaseContext<>.PerformWithDeadlockRetryHelper(int, int, bool, Getter<IDatabaseContext>, Action<IDatabaseContext>, Action<DeadlockRetryArgs>, bool, string, string)
   at Altiris.NS.Utilities.AppIdentity.EnsureAppIdentityCredential(string, SecurityIdentifier, ref RoleResource)
   at Altiris.NS.Utilities.AppIdentity.PrepareAppIdentityResource(string, out RoleResource)
   at Altiris.NS.Utilities.AppIdentity.SetApplicationId(string, string)
   at Altiris.NS.Installation.ServiceConfiguration.ConfigureServices(string, string)
   at System.RuntimeMethodHandle.InvokeMethod(object, object[], Signature, bool)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(object, object[], object[])
   at System.Reflection.RuntimeMethodInfo.Invoke(object, BindingFlags, Binder, object[], CultureInfo)
   at ReflectionProxy.ReflectionProxy.ConfigureServices(InstallationCredential)
   at .SyncInvokeConfigureServices(object, object[], object[])
   at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(object, object[], out object[])
   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(ref MessageRpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(ref MessageRpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(ref MessageRpc)
   at System.ServiceModel.Dispatcher.MessageRpc.Process(bool)
   at System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(RequestContext, bool, OperationContext)
   at System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext, OperationContext)
   at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult)
   at System.ServiceModel.Dispatcher.ChannelHandler.OnAsyncReceiveComplete(IAsyncResult)
   at System.Runtime.Fx+AsyncThunk.UnhandledExceptionFrame(IAsyncResult)
   at System.Runtime.AsyncResult.Complete(bool)
   at System.ServiceModel.Channels.TransportDuplexSessionChannel+TryReceiveAsyncResult.OnReceive(IAsyncResult)
   at System.Runtime.Fx+AsyncThunk.UnhandledExceptionFrame(IAsyncResult)
   at System.Runtime.AsyncResult.Complete(bool)
   at System.ServiceModel.Channels.SynchronizedMessageSource+ReceiveAsyncResult.OnReceiveComplete(object)
   at System.ServiceModel.Channels.SessionConnectionReader.OnAsyncReadComplete(object)
   at System.Runtime.Fx+AsyncThunk.UnhandledExceptionFrame(IAsyncResult)
   at System.Net.LazyAsyncResult.Complete(IntPtr)
   at System.Net.LazyAsyncResult.ProtectedInvokeCallback(object, IntPtr)
   at System.Net.Security.NegotiateStream.ProcessFrameBody(int, byte[], int, int, AsyncProtocolRequest)
   at System.Net.Security.NegotiateStream.ReadCallback(AsyncProtocolRequest)
   at System.Net.AsyncProtocolRequest.CompleteRequest(int)
   at System.Net.FixedSizeReader.CheckCompletionBeforeNextRead(int)
   at System.Net.FixedSizeReader.ReadCallback(IAsyncResult)
   at System.Runtime.AsyncResult.Complete(bool)
   at System.ServiceModel.Channels.ConnectionStream+IOAsyncResult.OnAsyncIOComplete(object)
   at System.ServiceModel.Channels.PipeConnection.OnAsyncReadComplete(bool, int, int)
   at System.ServiceModel.Channels.OverlappedContext.CompleteCallback(uint, uint, NativeOverlapped*)
   at System.Runtime.Fx+IOCompletionThunk.UnhandledExceptionFrame(uint, uint, NativeOverlapped*)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(uint, uint, NativeOverlapped*)


-----------------------------------------------------------------------------------------------------
Date: 4/23/2025 6:40:50 PM, Tick Count: 3006406 (00:50:06.4060000), Size: 7.33 KB
Process: ReflectionProxy (9008), Thread ID: 12, Module: Altiris.NS.dll
Priority: 1, Source: Resource.SaveResourceToDatabase

Entry 7:

ConfigureNS - task_Completed(): Configuration Task Configurando servicios... Failed: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Altiris.NS.Exceptions.AeXException: Unable to load the specified item: 8c6ee22e-4d8e-4023-b4e2-bd6e71e55e54 ---> Altiris.NS.Exceptions.AeXException: Unable to load the specified item: 8c6ee22e-4d8e-4023-b4e2-bd6e71e55e54 ---> System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at System.Data.SqlClient.SqlDataReader.CheckHeaderIsReady(Int32 columnIndex, Boolean permitAsync, String methodName)
   at System.Data.SqlClient.SqlDataReader.IsDBNull(Int32 i)
   at Altiris.NS.DataAccessLayer.Implementation.Altiris_NS_ResourceManagement_DataAccessLayerResourceManagementDataAccessLayer.spResourceTypeMergeKeyGet1(Guid ResourceTypeGuid)
   at Altiris.Resource.ResourceTypeItem.OnLoad()
   at Altiris.NS.ItemManagement.Item.Load(Guid itemGuid)
   --- End of inner exception stack trace —
   at Altiris.NS.ItemManagement.Item.Load(Guid itemGuid)
   at Altiris.NS.ItemManagement.Item.LoadInstance[T](T item, Guid itemGuid, ItemLoadFlags itemLoadFlags)
   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.NS.ResourceManagement.ResourceKeyHelper.GetMergingResourceKeysRaw(Guid resourceTypeGuid)
   at Altiris.NS.ResourceManagement.Resource.get_ResourceTypeMergeKeys()
   at Altiris.NS.ResourceManagement.Resource.IsMergingKey(ResourceKey key)
   at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
   at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
   at Altiris.NS.ResourceManagement.Resource.ExtractMergeKeys()
   at Altiris.NS.ResourceManagement.Resource.DetectDuplicateItems(DuplicateItemArgs args)
   at Altiris.NS.ItemManagement.Item.HandleDuplicateItemsInTheDB()
   at Altiris.NS.ItemManagement.Item.Save()
   at Altiris.NS.Utilities.AppIdentity.EnsureAppIdentityCredentialTry(String sUserName, RoleResource adminRole, SecurityIdentifier sid)
   at Altiris.NS.ContextManagement.AdminDatabaseContext.<>c_DisplayClass28_0`1.<PerformTransactedDeadlockRetry>b_0(IDatabaseContext ctx)
   at Altiris.Database.DatabaseContext`1.RetryActionRequest.Perform(Boolean throwIfRetriedOut)
   at Altiris.Database.DatabaseContext`1.PerformWithDeadlockRetryHelper(Int32 retries, Int32 retryDelay, Boolean outerTransaction, Getter`1 getContext, Action`1 action, Action`1 retry, Boolean selfTransaction, String deadlockMessage, String category)
   at Altiris.NS.Utilities.AppIdentity.EnsureAppIdentityCredential(String sUserName, SecurityIdentifier sid, RoleResource& adminRole)
   at Altiris.NS.Utilities.AppIdentity.PrepareAppIdentityResource(String sUserName, RoleResource& adminRole)
   at Altiris.NS.Utilities.AppIdentity.SetApplicationId(String sUserName, String sPassword)
   --- End of inner exception stack trace —
   at Altiris.NS.Utilities.AppIdentity.SetApplicationId(String sUserName, String sPassword)
   at Altiris.NS.Installation.ServiceConfiguration.ConfigureServices(String username, String userpassword)
   --- End of inner exception stack trace —
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at ReflectionProxy.ReflectionProxy.ConfigureServices(InstallationCredential credentials)
   at SyncInvokeConfigureServices(Object , Object[] , Object[] )
   at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Altiris.NS.Exceptions.AeXException: Unable to load the specified item: 8c6ee22e-4d8e-4023-b4e2-bd6e71e55e54 ---> Altiris.NS.Exceptions.AeXException: Unable to load the specified item: 8c6ee22e-4d8e-4023-b4e2-bd6e71e55e54 ---> System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at System.Data.SqlClient.SqlDataReader.CheckHeaderIsReady(Int32 columnIndex, Boolean permitAsync, String methodName)
   at System.Data.SqlClient.SqlDataReader.IsDBNull(Int32 i)
   at Altiris.NS.DataAccessLayer.Implementation.Altiris_NS_ResourceManagement_DataAccessLayerResourceManagementDataAccessLayer.spResourceTypeMergeKeyGet1(Guid ResourceTypeGuid)
   at Altiris.Resource.ResourceTypeItem.OnLoad()
   at Altiris.NS.ItemManagement.Item.Load(Guid itemGuid)
   --- End of inner exception stack trace —
   at Altiris.NS.ItemManagement.Item.Load(Guid itemGuid)
   at Altiris.NS.ItemManagement.Item.LoadInstance[T](T item, Guid itemGuid, ItemLoadFlags itemLoadFlags)
   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.NS.ResourceManagement.ResourceKeyHelper.GetMergingResourceKeysRaw(Guid resourceTypeGuid)
   at Altiris.NS.ResourceManagement.Resource.get_ResourceTypeMergeKeys()
   at Altiris.NS.ResourceManagement.Resource.IsMergingKey(ResourceKey key)
   at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
   at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
   at Altiris.NS.ResourceManagement.Resource.ExtractMergeKeys()
   at Altiris.NS.ResourceManagement.Resource.DetectDuplicateItems(DuplicateItemArgs args)
   at Altiris.NS.ItemManagement.Item.HandleDuplicateItemsInTheDB()
   at Altiris.NS.ItemManagement.Item.Save()
   at Altiris.NS.Utilities.AppIdentity.EnsureAppIdentityCredentialTry(String sUserName, RoleResource adminRole, SecurityIdentifier sid)
   at Altiris.NS.ContextManagement.AdminDatabaseContext.<>c_DisplayClass28_0`1.<PerformTransactedDeadlockRetry>b_0(IDatabaseContext ctx)
   at Altiris.Database.DatabaseContext`1.RetryActionRequest.Perform(Boolean throwIfRetriedOut)
   at Altiris.Database.DatabaseContext`1.PerformWithDeadlockRetryHelper(Int32 retries, Int32 retryDelay, Boolean outerTransaction, Getter`1 getContext, Action`1 action, Action`1 retry, Boolean selfTransaction, String deadlockMessage, String category)
   at Altiris.NS.Utilities.AppIdentity.EnsureAppIdentityCredential(String sUserName, SecurityIdentifier sid, RoleResource& adminRole)
   at Altiris.NS.Utilities.AppIdentity.PrepareAppIdentityResource(String sUserName, RoleResource& adminRole)
   at Altiris.NS.Utilities.AppIdentity.SetApplicationId(String sUserName, String sPassword)
   --- End of inner exception stack trace —
   at Altiris.NS.Utilities.AppIdentity.SetApplicationId(String sUserName, String sPassword)
   at Altiris.NS.Installation.ServiceConfiguration.ConfigureServices(String username, String userpassword)
   --- End of inner exception stack trace —
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at ReflectionProxy.ReflectionProxy.ConfigureServices(InstallationCredential credentials)
   at SyncInvokeConfigureServices(Object , Object[] , Object[] )
   at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
   [System.ServiceModel.FaultException @ mscorlib]

Server stack trace: 
   at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at ReflectionProxy.IReflectionProxy.ConfigureServices(InstallationCredential credentials)
   at Symantec.Installation.ServicesTask81.<StartImpl>d__4.MoveNext()
— End of stack trace from previous location where exception was thrown —
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Symantec.Installation.NSConfiguration.Tasks.SerialTask.<Start>d__0.MoveNext()

Exception logged from: 
   at Symantec.Installation.Logging.LogActivity.ReportException(Int32 severity, String strMessage, String category, Exception exception, String footer)
   at Symantec.Installation.Logging.LogActivity.ReportException(String strMessage, String category, Exception exception)
   at Symantec.Installation.ConfigureNS.task_Completed(Object sender, CompletedEventArgs e)
   at Symantec.Installation.Task.OnCompleted(Exception ex)
   at Symantec.Installation.NSConfiguration.Tasks.SerialTask.<Start>d__0.MoveNext()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run()
   at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(Action action, Boolean allowInlining, Task& currentTask)
   at System.Threading.Tasks.Task.FinishContinuations()
   at System.Threading.Tasks.Task.Finish(Boolean bUserDelegateExecuted)
   at System.Threading.Tasks.Task`1.TrySetException(Object exceptionObject)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetException(Exception exception)
   at Symantec.Installation.ServicesTask81.<StartImpl>d__4.MoveNext()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run()
   at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()

-----------------------------------------------------------------------------------------------------
Date: 4/23/2025 6:40:50 PM, Tick Count: 3006421 (00:50:06.4210000), Size: 12.03 KB
Process: SymantecInstallationManager (8084), Thread ID: 10, Module: SymantecInstallationManager.exe
Priority: 1, Source: Symantec.Installation.ConfigureNS.task_Completed

 

Even if you try to run a Full repair or a reconfiguration using SIM, the repair process fails the same way.

Environment

ITMS 8.7.x

Cause

Product repair in Symantec Installation Manager (SIM) fails if a point fix that modified the database had been applied earlier.

This issue is caused by the changes that a pointfix adds to the binaries on the SMP Server and database.

In this particular scenario, the issue was caused by:

  1. After installing cumulative pointfixes, the database schema was changed
  2. New binaries (bin) files were copied into the SMP Server and Stored Procedures (SPs) that are vital for configuration process were.
  3. During a repair MSIs get repaired but the process didn't rollback bin files.
  4. After a repair phase, reconfiguration is started and restores Default/General Available (GA) SPs.
  5. After that - configuration is blocked. SPs are not in sync with binaries.

In general - you can't reconfigure the product after pointfixes installation without risking a version mismatch.

Resolution

This issue has been addressed with our most recent SIM version (post 8.7.4035)

There are no simple workarounds for prior SIM releases (8.7.4035 or earlier).

There are 2 possible options:

  1. Restore to a previous version before installing pointfixes.
  2. The best approach is to uninstall Pointfixes, if backup was performed (you should see a "Backup" folder in the same directory from where you ran the pointfixes installation).
    Then you have to re-apply Pointfixes once more to make environment functional, then uninstall it and re-configure product from SIM.
    After that, you can reapply Pointfixes.
    Or
    You can restore dlls replaced by Pointfixes manually, reconfigure and then reapply Pointfixes.