Recently, while trying to automate a Citrix XenApp installation I came across an issue documented in Citrix KB CTX134504, causing the IMA service to fail to start. Adjusting the COM+ settings in this case allows IMA to start, but I don’t like clicking boxes and prefer to automate as much as possible. After some online searching, I came across this blog post from Rikard Alard that has details on how to automate COM+ settings through PowerShell. This had the code that I was looking for. The ApplicationAccessChecksEnabled value corresponds to the “Enforce access checks for this application” checkbox. A quick test and this did the trick.
$comAdmin = New-Object -comobject COMAdmin.COMAdminCatalog $apps = $comAdmin.GetCollection("Applications") $apps.Populate(); $app = $apps | Where-Object {$_.Name -eq "CitrixLogServer"} # Disable the Enforce access checks for this application option $app.Value("ApplicationAccessChecksEnabled") = 0 $apps.SaveChanges()
I still need to get to the root of the issue of why it was failing in the first place, but this allowed me to get a workaround in place to keep the IMA service running.