Monday, October 28, 2019

Fixing Adobe Creative Cloud Desktop missing Apps tab in Windows (ServiceConfig.xml)

I am faced with odd problems due to managing an enterprise higher education environment with third-party software that may or may not behave. One recurring culprit is Adobe Creative Cloud.

On the macOS side we use Jamf, and on the Windows side we use SCCM. If you deploy Adobe Creative Cloud Desktop App, then you're familiar with the "Apps Panel" that allows users to self-service install applications like Photoshop.

As noted by many other institutions, the configuration of the Adobe CC is contained in ServiceConfig.xml located either /Library/Application Support/Adobe/OOBE/Configs/ServiceConfig.xml on macOS or C:\Program Files (x86)\Common Files\Adobe\OOBE\Configs\ServiceConfig.xml on Windows. If you look in the XML file, you'll see an AppsPanel tag set to "true".

Adobe CC has the annoying habit of replacing that "true" tag with "false" and causing the installation function to fail with the heart-warming message that suggests your IT Administrator is preventing you from installing the software you need to do your job. When we called Adobe, they implied it wasn't that big of a deal because a) they only get one call a day from someone on this, and b) we could "just redeploy a dummy package" to turn it back on. *argh*

While we haven't figured out (yet) how to redeploy easily on the macOS side via Jamf, I do have a solution for the Windows side. A combination of a GPO, WMI Filter, and PowerShell script, made the problem go away, and we tell users to do the familiar "turn it off and turn it back on" routine.

Here's the logic:

  • The WMI Filter looks for the existence of the file.
  • The PowerShell script looks for "false" in the file's XML tag and replaces it with "true".
  • The GPO runs the PowerShell script at startup if the WMI Filter applies.


Here's the WMI Filter:
Namespace: root\CIMv2
Query: Select * From CIM_Datafile Where Name = 'C:\\Program Files (x86)\\Common Files\\Adobe\\OOBE\\Configs\\ServiceConfig.xml'

Here's the PowerShell script:
#Adobe Creative Cloud OOBE config file update, in case self-service install fails (again)
#10/23/2019 Lee Jones

#XML file to check, assume file exist
$ChkXML = "C:\Program Files (x86)\Common Files\Adobe\OOBE\Configs\ServiceConfig.xml"

#variable for file save
$update = "false"
$comply = "false"

#typecast variable for XML content
[xml]$ccxml = Get-Content $ChkXML

#check for "false" and set to "true"
if ($ccxml.config.panel.visible -like "false")
{
$ccxml.config.panel.visible = "true"
$update = "true"
}
if ($ccxml.config.feature.enabled -like "false")
{
$ccxml.config.feature.enabled = "true"
$update = "true"
}

#if something changed, save the file
if ($update -like "true") {$ccxml.Save($ChkXML)}

#typecast variable for XML content
[xml]$ccxml = Get-Content $ChkXML

if (($ccxml.config.panel.visible -like "true") -and ($ccxml.config.feature.enabled -like "true"))
{
$comply = "true"
}

$comply

The GPO should just launch this as a Computer Config > Policies > Windows Settings > Scripts > Startup Script to update the file before the user even tries to launch Adobe CC Desktop.

If you are interested in all the possible tags in the XML file, check out this helpful post.