An error occurs while launching SIM when logged in with an specific account. You get the generic message:
Symantec Installation Manager has encountered a fatal exception and cannot continue. Please see the log file for more information.
The error seen in the SIM logs was:
Uncaught Exception in Application
One or more errors occurred.
[System.AggregateException @ mscorlib]
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2
bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState,
Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body)
at Symantec.Installation.Managers.ProductListingManager.GetAndLoadProductListings(ProductListingInfo mainPL)
at Symantec.Installation.Managers.ProductListingManager.LoadCurrentProductListings(
)
at Symantec.Installation.Managers.ProductListingManager.LoadAndUpdateProductListings()
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.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
The file exists.
[System.IO.IOException @ mscorlib]
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Path.InternalGetTempFileName(Boolean checkHost)
at Symantec.Installation.Managers.ProductListingManager.ReadProductListingFile(Stri
ng productListingFile, String productListingLanguageFile, ProcessorType filterPlatform, Boolean skipValidation)
at Symantec.Installation.Managers.ProductListingManager.LoadProductListingData(String xmlFile, String xmlLangFile, Boolean populatePL)
at Symantec.Installation.Managers.ProductListingManager.GetAndLoadMainPL(ProductListingInfo pli)
at Symantec.Installation.Managers.ProductListingManager.<>c__DisplayClass38.<GetAndLoadProductListings>b__2c(ProductListingInfo pli)
at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object )
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.SimApplication.CurrentDomain_UnhandledException(Object sender, UnhandledExceptionEventArgs e)
at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2
bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState,
Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body)
at Symantec.Installation.Managers.ProductListingManager.GetAndLoadProductListings(ProductListingInfo mainPL)
at Symantec.Installation.Managers.ProductListingManager.LoadCurrentProductListings(
)
at
Symantec.Installation.Managers.ProductListingManager.LoadAndUpdateProductListings()
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.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
ITMS 8.x
The error was occurring after the Product Listing (PL) retrieving process, while trying to write the PL temp file. SIM was trying to write the PL file and it was erroring out with (as mentioned in the SIM log entry above):
Uncaught Exception in Application
One or more errors occurred.
...
The file exists.
We found that this exception is thrown when there are more than 65000 temp files in the %TEMP% folder for this User. That is why when the customer was launching SIM with a different account, it worked. The other user didn't have as many temp files in there.
Looked at "C:\Users\<USERNAME>\AppData\Local\Temp" and found that for this User, the temp directory had 65,580 files in there.
In order to solve this issue: