Citrix License Server 11.10 installation hang

I had to update a Windows 2003 – Citrix License Server at one customer place and I wasn’t ready for that… For the first time of my Citrix life I had to troubleshoot an upgrade process….

I have try to uninstall / install, update nothing allowed me to complete the installation of the Citrix License Server 11.10 on a Windows 2003 server… The installation was just stuck and never ended the installation process.

So I had to understand why this installation was stuck, in the event log I had this message :

“A provider, Citrix_GTLicensingProv, has been registered in the WMI namespace, Root\CitrixLicensing, to use the LocalSystem account. This account is privileged and the provider may cause a security violation if it doe not correctly impersonate user requests.”

Weird message and I’m not sure it’s related to the installation issue I have so I chose to use the good old msiexec command line to enable verbose logfile of the installation process :

msiexec.exe /i CTX_Licensing.msi /lv* c:\temp\CTX_Licensing.log /qb+

And surprisingly I got useful information !

Fin de l'action 15:16:58 : RemoveExistingProducts. Valeur de retour 1.
Début de l'action 15:16:58 : ProcessComponents.
Fin de l'action 15:16:59 : ProcessComponents. Valeur de retour 1.
Début de l'action 15:16:59 : MsiUnpublishAssemblies.
Fin de l'action 15:16:59 : MsiUnpublishAssemblies. Valeur de retour 1.
Début de l'action 15:16:59 : UnpublishFeatures.
Fin de l'action 15:16:59 : UnpublishFeatures. Valeur de retour 1.
Début de l'action 15:16:59 : StopServices.
Fin de l'action 15:16:59 : StopServices. Valeur de retour 1.
Début de l'action 15:16:59 : DeleteServices.
Fin de l'action 15:16:59 : DeleteServices. Valeur de retour 1.
Début de l'action 15:16:59 : UnregisterTypeLibraries.
Fin de l'action 15:16:59 : UnregisterTypeLibraries. Valeur de retour 1.
Début de l'action 15:16:59 : UninstallPerfCounterData.
Fin de l'action 15:16:59 : UninstallPerfCounterData. Valeur de retour 1.
Début de l'action 15:16:59 : RemoveRegistryValues.
Fin de l'action 15:16:59 : RemoveRegistryValues. Valeur de retour 1.
Début de l'action 15:16:59 : UnregisterClassInfo.
Fin de l'action 15:16:59 : UnregisterClassInfo. Valeur de retour 1.
Début de l'action 15:16:59 : UnregisterExtensionInfo.
Fin de l'action 15:16:59 : UnregisterExtensionInfo. Valeur de retour 1.
Début de l'action 15:16:59 : UnregisterProgIdInfo.
Fin de l'action 15:16:59 : UnregisterProgIdInfo. Valeur de retour 1.
Début de l'action 15:16:59 : SetCitrixShortCutFolder.
Fin de l'action 15:16:59 : SetCitrixShortCutFolder. Valeur de retour 1.
Début de l'action 15:16:59 : SetLACShortCutFolder.
Fin de l'action 15:16:59 : SetLACShortCutFolder. Valeur de retour 1.
Début de l'action 15:16:59 : RemoveFiles.
Fin de l'action 15:16:59 : RemoveFiles. Valeur de retour 1.
Début de l'action 15:16:59 : RemoveFolders.
Fin de l'action 15:16:59 : RemoveFolders. Valeur de retour 1.
Début de l'action 15:16:59 : SetACLProps.
Fin de l'action 15:16:59 : SetACLProps. Valeur de retour 1.
Début de l'action 15:16:59 : CreateFolders.
Fin de l'action 15:16:59 : CreateFolders. Valeur de retour 1.
Début de l'action 15:16:59 : InstallFiles.
Fin de l'action 15:16:59 : InstallFiles. Valeur de retour 1.
Début de l'action 15:16:59 : RegisterClassInfo.
Fin de l'action 15:16:59 : RegisterClassInfo. Valeur de retour 1.
Début de l'action 15:16:59 : RegisterExtensionInfo.
Fin de l'action 15:16:59 : RegisterExtensionInfo. Valeur de retour 1.
Début de l'action 15:16:59 : RegisterProgIdInfo.
Fin de l'action 15:16:59 : RegisterProgIdInfo. Valeur de retour 1.
Début de l'action 15:16:59 : WriteRegistryValues.
Fin de l'action 15:17:00 : WriteRegistryValues. Valeur de retour 1.
Début de l'action 15:17:00 : InstallPerfCounterData.
Début de l'action 15:17:00 : RegisterPerfCounterData.
Fin de l'action 15:17:00 : RegisterPerfCounterData. Valeur de retour 1.
Début de l'action 15:17:00 : RollbackRegisterPerfCounterData.
Fin de l'action 15:17:00 : RollbackRegisterPerfCounterData. Valeur de retour 1.
Fin de l'action 15:17:00 : InstallPerfCounterData. Valeur de retour 1.
Début de l'action 15:17:00 : RegisterTypeLibraries.
Fin de l'action 15:17:00 : RegisterTypeLibraries. Valeur de retour 1.
Début de l'action 15:17:00 : CompileLicWMIMofFile.
Fin de l'action 15:17:00 : CompileLicWMIMofFile. Valeur de retour 1.
Début de l'action 15:17:00 : InstallServices.
Fin de l'action 15:17:00 : InstallServices. Valeur de retour 1.
Début de l'action 15:17:00 : CTX_LS_PerServiceSID.
Fin de l'action 15:17:00 : CTX_LS_PerServiceSID. Valeur de retour 1.
Début de l'action 15:17:00 : SetAccountAclProps.
Fin de l'action 15:17:00 : SetAccountAclProps. Valeur de retour 1.
Début de l'action 15:17:00 : CTX_SetupACLs.
Fin de l'action 15:17:00 : CTX_SetupACLs. Valeur de retour 1.
Début de l'action 15:17:00 : SetInstallAcls.
Fin de l'action 15:17:00 : SetInstallAcls. Valeur de retour 1.
Début de l'action 15:17:00 : CTX_InstallACLs.
Fin de l'action 15:17:00 : CTX_InstallACLs. Valeur de retour 1.
Début de l'action 15:17:00 : CA_AddServiceSid.
Fin de l'action 15:17:00 : CA_AddServiceSid. Valeur de retour 1.
Début de l'action 15:17:00 : CustomAction_SetCustomActionData_CopyConfigTemplate.
Fin de l'action 15:17:00 : CustomAction_SetCustomActionData_CopyConfigTemplate. Valeur de retour 1.
Début de l'action 15:17:00 : CustomAction_CopyConfigTemplate.
Fin de l'action 15:17:00 : CustomAction_CopyConfigTemplate. Valeur de retour 1.
Début de l'action 15:17:00 : StartServices.
Fin de l'action 15:17:00 : StartServices. Valeur de retour 1.
Début de l'action 15:17:00 : RegisterUser.
Fin de l'action 15:17:00 : RegisterUser. Valeur de retour 1.
Début de l'action 15:17:00 : RegisterProduct.
Fin de l'action 15:17:00 : RegisterProduct. Valeur de retour 1.
Début de l'action 15:17:00 : MsiPublishAssemblies.
Fin de l'action 15:17:00 : MsiPublishAssemblies. Valeur de retour 1.
Début de l'action 15:17:00 : PublishFeatures.
Fin de l'action 15:17:00 : PublishFeatures. Valeur de retour 1.
Début de l'action 15:17:00 : PublishProduct.
Fin de l'action 15:17:00 : PublishProduct. Valeur de retour 1.
Début de l'action 15:17:00 : LaunchReserveURL_CmdLine.
Fin de l'action 15:17:00 : LaunchReserveURL_CmdLine. Valeur de retour 1.
Début de l'action 15:17:00 : LaunchReserveURL_CmdLine_Property.
Fin de l'action 15:17:00 : LaunchReserveURL_CmdLine_Property. Valeur de retour 1.
Début de l'action 15:17:00 : InstallFinalize.
CAQuietExec:
CAQuietExec:  ERROR:  Unrecognized command
CAQuietExec:
CAQuietExec:  DESCRIPTION:
CAQuietExec:          SC is a command line program used for communicating with the
CAQuietExec:          Service Control Manager and services.
CAQuietExec:  USAGE:
CAQuietExec:          sc <server>   <option1> <option2>...
CAQuietExec:
CAQuietExec:
CAQuietExec:          The option <server> has the form "\\ServerName"
CAQuietExec:          Further help on commands can be obtained by typing: "sc "
CAQuietExec:          Commands:
CAQuietExec:            query-----------Queries the status for a service, or
CAQuietExec:                            enumerates the status for types of services.
CAQuietExec:            queryex---------Queries the extended status for a service, or
CAQuietExec:                            enumerates the status for types of services.
CAQuietExec:            start-----------Starts a service.
CAQuietExec:            pause-----------Sends a PAUSE control request to a service.
CAQuietExec:            interrogate-----Sends an INTERROGATE control request to a service.
CAQuietExec:            continue--------Sends a CONTINUE control request to a service.
CAQuietExec:            stop------------Sends a STOP request to a service.
CAQuietExec:            config----------Changes the configuration of a service (persistent).
CAQuietExec:            description-----Changes the description of a service.
CAQuietExec:            failure---------Changes the actions taken by a service upon failure.
CAQuietExec:            qc--------------Queries the configuration information for a service.
CAQuietExec:            qdescription----Queries the description for a service.
CAQuietExec:            qfailure--------Queries the actions taken by a service upon failure.
CAQuietExec:            delete----------Deletes a service (from the registry).
CAQuietExec:            create----------Creates a service. (adds it to the registry).
CAQuietExec:            control---------Sends a control to a service.
CAQuietExec:            sdshow----------Displays a service's security descriptor.
CAQuietExec:            sdset-----------Sets a service's security descriptor.
CAQuietExec:            GetDisplayName--Gets the DisplayName for a service.
CAQuietExec:            GetKeyName------Gets the ServiceKeyName for a service.
CAQuietExec:            EnumDepend------Enumerates Service Dependencies.
CAQuietExec:
CAQuietExec:          The following commands don't require a service name:
CAQuietExec:          sc <server> <command> <option>
CAQuietExec:            boot------------(ok | bad) Indicates whether the last boot should
CAQuietExec:                            be saved as the last-known-good boot configuration
CAQuietExec:            Lock------------Locks the Service Database
CAQuietExec:            QueryLock-------Queries the LockStatus for the SCManager Database
CAQuietExec:  EXAMPLE:
CAQuietExec:          sc start MyService
CAQuietExec:

The installer wasn’t able to process the creation of a service (sc.exe command) and I found this Microsoft Security Bulletin : MS09-012 The I downloaded the KB956572 and installed it on the License Server.

Then the installation went fine… I lost half of a day trying to understand what was wrong…

Resources :
MS09-012 – Vulnerabilities in Windows Could Allow Elevation of Privilege (959454)
Security Update for Windows Server 2003 (KB956572)
Citrix License Server 11.10 download

Vulnerabilities in Windows Could Allow Elevation of Privilege (959454)

Post author