Friday, October 12, 2018

App-V 5, SCCM and Duplicate Connection Groups


Out in the real world, we began to see machines with multiple duplicated connection groups (CGs).  The duplicate CGs were not causing any problems in themselves because only one of them was globally published but they did make things look very messy.  It is quite disconcerting to list the connection groups (-all) and get back a list where several have exactly the same name. 

So how does this occur?

SCCM manages CGs in the virtual environments (VEs) section of the SCCM console.  When a VE is modified or a machine is added/removed to/from a package collection which is related to an item in the VE, SCCM fairly quickly begins to ripple out that change to the clients.  If the machine is logged off, the CG exists but is not in use, or the CG is not pre-existing, then the CG is created without issue.

However, if the CG exists already and is in use, then SCCM is unable to immediately affect the change.  In this case SCCM appears to create a new CG anyway and then tag it in the HKLM\Software\Microsoft\AppV\Client\PendingTasks using a text string item called PublishGroup with the GroupID_VersionID as the identifier.

If the CG remains in use SCCM will create another unpublished CG and write the PendingTasks key everytime the Application Deployment Evaluation Cycle runs.

If the CG is closed, the PendingTasks item is applied if the Microsoft App-V Client is restarted or the client is rebooted.

Reproduced on
Windows 10 Enterprise 1703
SCCM Client v5.00.8412.1000