Problem
You’ve recently installed an application that uses .NET Framework such as the IBM System i Access for Windows:
… and you notice that after the install, the Citrix ICA Service on the virtual desktop no longer starts:
Windows could not start the Citrix ICA Service service on Local Computer.
Error 1053: The service did not respond to the start or control request in a timely fashion.
DistributedCOM errors are found in the System event logs:
Event ID: 10010
The server {EFFFADEC-69AE-4CDB-86AF-4FA2B53C5CA5} did not register with DCOM within the required timeout.
Event ID: 10005
DCOM got error "1053" attempting to start the service PorticaService with arguments "" in order to run the server:
{EFFFADEC-69AE-4CDB-86AF-4FA2B53C5CA5}
Event ID: 7009
A timeout was reached (30000 milliseconds) while waiting for the Citrix ICA Service service to connect.
Event ID: 7000
The Citrix ICA Service service failed to start due to the following error:
The service did not respond to the start or control request in a timely fashion.
Event ID: 7036
The Citrix Audio Redirection Service service entered the running state.
Solution
The last few times I ran into errors as DCOM errors like these, it was caused by DCOM object permissions that could be fixed via the Computer Services administrative tools:
After searching for the unique IDs referenced in the event logs:
{efffadec-69ae-4cdb-86af-4fa2b53c5ca5}
{f719ecbb-1fb8-4dde-aafa-848f9e1479d4}
… I finally end up finding the Citrix PortICA COM Server DCOM object and noticed that when I switched the Log on as: setting from This account: Local Service to Local System account, the service would start:
While this fixed the issue, it wasn’t really an acceptable resolution due to security reasons and as soon as I switched the setting back to Local Service, the Citrix ICA Service would no longer start:
I proceeded to check the Report.wer logs:
Version=1
EventType=CLR20r3
EventTime=129785356418648736
ReportType=2
Consent=1
ReportIdentifier=500b65f6-830b-11e1-b990-005056816a51
WOW64=1
Response.type=4
Sig[0].Name=Problem Signature 01
Sig[0].Value=picasvc.exe
Sig[1].Name=Problem Signature 02
Sig[1].Value=6.2.100.77
Sig[2].Name=Problem Signature 03
Sig[2].Value=4f43b63c
Sig[3].Name=Problem Signature 04
Sig[3].Value=System.Configuration
Sig[4].Name=Problem Signature 05
Sig[4].Value=2.0.0.0
Sig[5].Name=Problem Signature 06
Sig[5].Value=4ca2ba8c
Sig[6].Name=Problem Signature 07
Sig[6].Value=1a6
Sig[7].Name=Problem Signature 08
Sig[7].Value=136
Sig[8].Name=Problem Signature 09
Sig[8].Value=IOIBMURHYNRXKW0ZXKYRVFN0BOYYUFOW
DynamicSig[1].Name=OS Version
DynamicSig[1].Value=6.1.7601.2.1.0.256.48
DynamicSig[2].Name=Locale ID
DynamicSig[2].Value=1033
UI[2]=C:\Program Files\Citrix\ICAService\picaSvc.exe
LoadedModule[0]=C:\Program Files\Citrix\ICAService\picaSvc.exe
LoadedModule[1]=C:\Windows\SysWOW64\ntdll.dll
LoadedModule[2]=C:\Windows\SYSTEM32\MSCOREE.DLL
LoadedModule[3]=C:\Windows\syswow64\KERNEL32.dll
LoadedModule[4]=C:\Windows\syswow64\KERNELBASE.dll
LoadedModule[5]=C:\Program Files (x86)\Citrix\Offline Plugin\system32\radeaphook.dll
LoadedModule[6]=C:\Program Files (x86)\Citrix\Offline Plugin\system32\CtxSbxHook.DLL
LoadedModule[7]=C:\Windows\syswow64\USER32.dll
LoadedModule[8]=C:\Windows\syswow64\GDI32.dll
LoadedModule[9]=C:\Windows\syswow64\LPK.dll
LoadedModule[10]=C:\Windows\syswow64\USP10.dll
LoadedModule[11]=C:\Windows\syswow64\msvcrt.dll
LoadedModule[12]=C:\Windows\syswow64\ADVAPI32.dll
LoadedModule[13]=C:\Windows\SysWOW64\sechost.dll
LoadedModule[14]=C:\Windows\syswow64\RPCRT4.dll
LoadedModule[15]=C:\Windows\syswow64\SspiCli.dll
LoadedModule[16]=C:\Windows\syswow64\CRYPTBASE.dll
LoadedModule[17]=C:\Windows\syswow64\SHELL32.dll
LoadedModule[18]=C:\Windows\syswow64\SHLWAPI.dll
LoadedModule[19]=C:\Windows\system32\msi.dll
LoadedModule[20]=C:\Windows\syswow64\ole32.dll
LoadedModule[21]=C:\Windows\system32\IMM32.DLL
LoadedModule[22]=C:\Windows\syswow64\MSCTF.dll
LoadedModule[23]=C:\PROGRA~1\Citrix\System32\MFAPHOOK.DLL
LoadedModule[24]=C:\Program Files\Citrix\ICAService\SCardHook.dll
LoadedModule[25]=C:\Program Files\Citrix\ICAService\twnhook.dll
LoadedModule[26]=C:\Program Files\Citrix\ICAService\cxinjime.dll
LoadedModule[27]=C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
LoadedModule[28]=C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_d09154e044272b9a\MSVCR80.dll
LoadedModule[29]=C:\Windows\system32\profapi.dll
LoadedModule[30]=C:\Windows\assembly\NativeImages_v2.0.50727_32\mscorlib\a1a82db68b3badc7c27ea1f6579d22c5\mscorlib.ni.dll
LoadedModule[31]=C:\Windows\system32\CRYPTSP.dll
LoadedModule[32]=C:\Windows\system32\rsaenh.dll
LoadedModule[33]=C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorjit.dll
LoadedModule[34]=C:\Program Files\Citrix\ICAService\Citrix.Utils.Diagnostics.dll
LoadedModule[35]=C:\Windows\assembly\NativeImages_v2.0.50727_32\System\abab08afa60a6f06bdde0fcc9649c379\System.ni.dll
LoadedModule[36]=C:\Windows\assembly\NativeImages_v2.0.50727_32\System.ServiceProce#\6f2de1cb69aef1946760a70f355a3075\System.ServiceProcess.ni.dll
LoadedModule[37]=C:\Windows\assembly\GAC\Citrix.Diagnostics\1.0.21.0__7110990e26881462\Citrix.Diagnostics.dll
LoadedModule[38]=C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Configuratio#\66a5094e521e34aecd51e4bae30ac266\System.Configuration.Install.ni.dll
LoadedModule[39]=C:\Program Files\Citrix\ICAService\Citrix.Utils.COMServer.dll
LoadedModule[40]=C:\Windows\assembly\GAC\Citrix.Diagnostics.Recorder.Cdf\1.0.21.0__7110990e26881462\Citrix.Diagnostics.Recorder.Cdf.dll
LoadedModule[41]=C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Configuration\2d5bcbeb9475ef62189f605bcca1cec6\System.Configuration.ni.dll
LoadedModule[42]=C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Xml\130ad4d9719e566ca933ac7158a04203\System.Xml.ni.dll
LoadedModule[43]=C:\Windows\system32\VERSION.dll
LoadedModule[44]=C:\Windows\system32\apphelp.dll
FriendlyEventName=Stopped working
ConsentKey=CLR20r3
AppName=Citrix PortICA Controller
AppPath=C:\Program Files\Citrix\ICAService\picaSvc.exe
ReportDescription=Stopped working
Then the other logs found in the directory C:\ProgramData\Microsoft\Windows\WER\ReportQueue:
… yet still wasn’t able to figure out where the problem was.
After running out of ideas, I suddenly had the thought that perhaps I should check the Microsoft.NET Framework folders to see if anything was out of the ordinary:
Probably due to pure luck, I decided to start resetting the permissions on each folder while trying to restart the Citrix ICA Service service and noticed that as soon as I reset the C:\Windows\Microsoft.NET\Framework\v2.0.50727 folder, the service would begin to start:
I’m not exactly sure why taking ownership and then propagating the security settings from the C:\Windows\Microsoft.NET\Framework\v2.0.50727 folder fixed the issue but my guess is that the IBM application somehow modified the original folder permissions that the Citrix VDA relied on the folder thus preventing it from being able to properly access the files it needed.