The following could be some reasons, in addition to others, for the IMA Service to fail to start:
- IMA Service load time
- IMA Service subsystem
- Missing Temp directory
- Print spooler service
- ODBC configuration
- Roaming Profile
- Another server with an identical NetBIOS name on the same network
IMA Service Load Time
If the Service Control Manager reports that the IMA Service could not be started, but the service eventually starts, ignore the error message.
The Service Control Manager has a timeout of six minutes. The IMA Service can take longer than six minutes to start if the load on the database exceeds the capabilities of the database hardware or if the network has high-latency. If you feel that the service is merely hung (stuck in a “starting” state) you can terminate the ImaSrv.exe process in Task Manager and restart the Citrix Independent Management Architecture service as a test.
IMA Service Subsystem
Examine the following Windows Registry setting:
- x32-bit: HKEY_LOCAL_MACHINESOFTWARECitrixIMARuntimeCurrentlyLoadingPlugin
- x64-bit: HKEY_LOCAL_MACHINESOFTWAREWow6432NodeCitrixIMARuntimeCurrentlyLoadingPlugin
If there is no value specified in the CurrentlyLoadingPlugin portion of the preceding Windows Registry entry, then either the IMA Service could not connect to the data store or the local host cache is missing or corrupt.
If a CurrentlyLoadingPlugin value is specified, the IMA Service made a connection to the data store and the value displayed is the name of the IMA Service subsystem that failed to load.
Missing Temp Directory
If administrators see an “IMA Service Failed” error message with an error code of 2147483649 when starting the server, the local system account might be missing a Temp directory which is required for the IMA Service to run.
To gain further insight into the situation, change the IMA Service startup account to the local administrator and restart the server. If the IMA Service is successful in starting under the local administrator’s account, then it is likely that a missing Temp directory for the local system account is causing the situation.
If the Temp directory is not present, then manually create one as <root directory>Temp. For example: C:WindowsTemp
Also, verify that the TMP and TEMP system environment variables point to the temporary directory. Restart the server to restart the IMA Service.
Print Spooler Service
When the server attempts to start the IMA Service, the “Setup Could Not Start the IMA Service” error message appears. This error shows that the IMA Service is not starting, possibly because the print spooler service is not running or was configured incorrectly. In addition, the following error messages appear in the Event Viewer:
- Failed to load plugin MfPrintSs.dll with error 80000001h
- Failed to load initial plugins with error 80000001h
- The Independent Management Architecture service terminated with service-specific error
The error occurs because the print spooler service:
- Has stopped
- Is disabled
- Is not configured to run under the Local System Account
To resolve this issue, verify that the print spooler service was started in the context of system rather than in the context of a user. A print spooler service that is not running or has been configured incorrectly might cause the printing subsystem to fail to load.
To resolve the situation, stop and start the print spooler service, ensure that it is configured to run under the Local System Account. Then, try to start the IMA Service.
- Verify that the Microsoft SQL Server or Oracle server is online.
- Verify the name of the DSN file that the IMA Service is using the following key in the Windows Registry:
- x32-bit: HKEY_LOCAL_MACHINESOFTWARECitrixIMADataSourceName
- x64-bit: HKEY_LOCAL_MACHINESOFTWAREWow6432NodeCitrixIMADataSourceName
- Attempt to connect to the database using the DSN file with an ODBC test utility such as Oracle ODBC Test or SQL Server ODBC Test.
- Verify that the correct user name and password are being used for database connectivity.
- Change the user name and password using the DSMAINT CONFIG command, if needed using dsmaint config /user:username /pwd:password /dsn:dsnfilename.
- Enable ODBC Tracing for further troubleshooting.
When the server attempts to start the IMA Service, the “Setup Could Not Start the IMA Service” error message appears. In the event viewer the error IMA_RESULT_INVALID_MESSAGE is displayed or other events related to the IMA Service not being able to start.
Verify the size of the roaming profile, especially if it is crossing a WAN. Also watch for error messages related to not being able to load the profile. Test with a local user profile or one that is smaller in size.
Another server with an identical NetBIOS name on the same network
Verify that there is not another server on the network with the same NetBIOS name on the network. If the CurrentlyLoadingPlugin has the ImaLicSs.dll listed, this might be an indication of this condition. Another symptom of ImaLicSs.dll
“106. The IMA Service failed to start because of license group corruption in the data store. “