Symantec Installation Manager is not able to load the information about how many licenses are in use
search cancel

Symantec Installation Manager is not able to load the information about how many licenses are in use

book

Article ID: 171820

calendar_today

Updated On:

Products

IT Management Suite

Issue/Introduction

The customer is no longer able to see how many licenses are being consumed through their SIM (Symantec Installation Manager). When they click on “Add/Update license” the license page just show the expired trial licenses. However, under the SMP Console>Home>First Time Setup>Solution Licensing  portal, the licenses looks fine.

The NS logs show the following error messages when loading the licensing page from SIM:

Unable to load licenses from NS server.
Object reference not set to an instance of an object.
   [System.NullReferenceException @ SymantecInstallationManager]
   at Altiris.NS.Licensing.LicensingWebServiceProxy..ctor(NsConfigureParameters config)
   at Symantec.Installation.Model.LicenseManager.<LoadLicenses>b__2b()
   at Symantec.Installation.Model.LicenseManager.<LoadLicensesFromServer>d__1a.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at Symantec.Installation.Model.LicenseManager.LoadFromServer(Func`1 getLicXml)
   at Symantec.Installation.Model.LicenseManager.LoadLicenses()


-----------------------------------------------------------------------------------------------------
Date: 5/14/2018 4:31:00 AM, Tick Count: 327589031 (3.18:59:49.0310000), Size: 2.04 KB
Process: SymantecInstallationManager (8344), Thread ID: 10, Module: SymantecInstallationManager.exe
Priority: 1, Source: Symantec.Installation.Model.LicenseManager.LoadLicenses
 

 

Error 1:

AimRegistry - Encountered Exception while Reading registry NsUserName
The data is invalid.

   [System.Security.Cryptography.CryptographicException @ System.Security]
   at System.Security.Cryptography.ProtectedData.Unprotect(Byte[] encryptedData, Byte[] optionalEntropy, DataProtectionScope scope)
   at Symantec.Installation.Win32Registry.RegistryHelper.ReadEncryptedValue(String subKey, String valueName, Byte[] entropyBytes, DataProtectionScope scope)

.....ommitted from KB.....
-----------------------------------------------------------------------------------------------------
Date: 5/14/2018 4:31:00 AM, Tick Count: 327589031 (3.18:59:49.0310000), Size: 2.66 KB
Process: SymantecInstallationManager (8344), Thread ID: 10, Module: SymantecInstallationManager.exe
Priority: 1, Source: Symantec.Installation.Win32Registry.RegistryHelper.LogRegistryException

Error 2:

AimRegistry - Encountered Exception while Reading registry NsPassword
The data is invalid.

   [System.Security.Cryptography.CryptographicException @ System.Security]
   at System.Security.Cryptography.ProtectedData.Unprotect(Byte[] encryptedData, Byte[] optionalEntropy, DataProtectionScope scope)
   at Symantec.Installation.Win32Registry.RegistryHelper.ReadEncryptedValue(String subKey, String valueName, Byte[] entropyBytes, DataProtectionScope scope)

.....ommitted from KB.....
-----------------------------------------------------------------------------------------------------
Date: 5/14/2018 4:31:00 AM, Tick Count: 327589031 (3.18:59:49.0310000), Size: 2.66 KB
Process: SymantecInstallationManager (8344), Thread ID: 10, Module: SymantecInstallationManager.exe
Priority: 1, Source: Symantec.Installation.Win32Registry.RegistryHelper.LogRegistryException
 

Error 3:

AimRegistry - Encountered Exception while Getting Registry Item SOFTWARE\Altiris\AIM\Configuration, NsConfiguration
Object reference not set to an instance of an object.
   [System.NullReferenceException @ SymantecInstallationManager]
   at Symantec.Installation.Win32Registry.RegistryHelper.ReadObject(String subKey, String key)
   at Symantec.Installation.Win32Registry.RegistryHelper.ReadRegistryItem(String subKey, String keyOrValue)

.....ommitted from KB.....
-----------------------------------------------------------------------------------------------------
Date: 5/14/2018 4:31:00 AM, Tick Count: 327589031 (3.18:59:49.0310000), Size: 2.39 KB
Process: SymantecInstallationManager (8344), Thread ID: 10, Module: SymantecInstallationManager.exe
Priority: 1, Source: Symantec.Installation.Win32Registry.RegistryHelper.LogRegistryException

Error 4:

Unable to load licenses from NS server.
Object reference not set to an instance of an object.
   [System.NullReferenceException @ SymantecInstallationManager]
   at Altiris.NS.Licensing.LicensingWebServiceProxy..ctor(NsConfigureParameters config)
   at Symantec.Installation.Model.LicenseManager.<LoadLicenses>b__2b()
   at Symantec.Installation.Model.LicenseManager.<LoadLicensesFromServer>d__1a.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at Symantec.Installation.Model.LicenseManager.LoadFromServer(Func`1 getLicXml)
   at Symantec.Installation.Model.LicenseManager.LoadLicenses()

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.Model.LicenseManager.LoadLicenses()
   at Symantec.Installation.Model.LicenseManager.RefreshLicenses(Boolean force)
   at Symantec.Installation.Model.LicenseManager.<RefreshLicensesTask>b__30()
   at System.Threading.Tasks.Task.Execute()
   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.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
   at System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
-----------------------------------------------------------------------------------------------------
Date: 5/14/2018 4:31:00 AM, Tick Count: 327589031 (3.18:59:49.0310000), Size: 2.04 KB
Process: SymantecInstallationManager (8344), Thread ID: 10, Module: SymantecInstallationManager.exe
Priority: 1, Source: Symantec.Installation.Model.LicenseManager.LoadLicenses
 

Environment

ITMS 7.6, 8.0, 8.1

Cause

SIM was not able to connect to the database and obtain the proper licenses references. SIM was not able to find the proper references for Username and Password (for the SMP and SQL Server):

AimRegistry - Encountered Exception while Getting Registry Item SOFTWARE\Altiris\AIM\Configuration, NsConfiguration
Object reference not set to an instance of an object.

For some reason those regkeys were deleted before:

HKEY_LOCAL_MACHINE\SOFTWARE\Altiris\AIM\Configuration\NsConfiguration\NsPassword
HKEY_LOCAL_MACHINE\SOFTWARE\Altiris\AIM\Configuration\NsConfiguration\NsUserName
HKEY_LOCAL_MACHINE\SOFTWARE\Altiris\AIM\Configuration\NsConfiguration\SqlPassword
HKEY_LOCAL_MACHINE\SOFTWARE\Altiris\AIM\Configuration\NsConfiguration\SqlUserName

Also these ones were missing:

HKEY_LOCAL_MACHINE\SOFTWARE\Altiris\eXpress\Notification Server\AppIdentity\pwd
HKEY_LOCAL_MACHINE\SOFTWARE\Altiris\eXpress\Notification Server\AppIdentity\user

Resolution

Recreate the missing references:

  1. Open SIM.
  2. Go to "Configure Settings"
  3. If "Configure Database Settings" and "Configure NS Settings" are available, add the proper credentials.
  4. If "Configure Database Settings" and "Configure NS Settings" are not available, you should see the "Recover NS Settings" option. Add the proper information on the pages displayed under this option.
  5. Close and Open SIM. Check that the licenses are now available.