App-V 5.0 SP2 Integration Issues with Connection Groups

Recently I was attempting to publish a Connection Group and experienced some interesting challenges that I want to share:

My application needed to integrate with Microsoft Visio and Flash player so I published a connection group but the shortcuts failed to appear in my Start Menu. Using the App-V Client UI I could see that I had no Connection Groups listed and the Powershell command Get-AppvClientConnectionGroup also gave me nil response.

Logging onto the publishing server I found a 20001 event in the App-V Client Admin log:

The connection group {c7765ec4-17a2-43be-8a4f-1a84849c7a2d} version {b65411b8-ad8b-419f-bdca-7dd47c28476a} could not be published because the virtual COM settings of the individual packages conflict.  Verify that the virtual COM settings are the same for all member packages and try again.
Error code: 0x8E90070A – 0x3000F

CGcomConflict

I was unable to find any documentation relating to this error other than a single forum post, but It seems where COM Settings are concerned it’s all for one & one for all. As the message indicates, the fix is to check the virtual COM settings are the same for all the packages in the connection group.

Note: to verify the message relates to a specific Connection Group,  view Connection Groups in the publishing console (if you haven’t found where these are hidden yet, after opening the console click on Packages at the left and a pane slides to one side, TaDa. I’m serious! (Not sure why Microsoft hide it, perhaps the Developer wanted to show off their Silverlight skills).  Once you click on a connection group a “Show Id” option magically appears in the lower pane at the right. If you step through the list of Connection Groups you will see the GUID appear for each one and can match this against the GUID given in the message.

I had used the following settings in Visio via deploymentconfig.xml to get OLE working

COM
–>
<COM Mode=”Integrated”>
<IntegratedCOMAttributes OutOfProcessEnabled=”true” InProcessEnabled=”false” />
</COM>

<!–
Objects
–>
<Objects Enabled=”true” />

So I changed the settings in my parent app to match – I needed to do this anyway to integrate with Office 2010 which was installed on the build.

This isn’t quite as restrictive as it appears at first. With Flash I didn’t want to change the default settings as it was likely to be a member of other Connection Groups which didn’t have COM integration configured the same and by fixing my connection group this way I was concerned I may introduce the original error to other packages – catch 22. The solution I came up with was to create a UserConfig.XML for Flash with these COM settings in and associate this with the Domain Local AD Group for my parent app after adding the group to the Flash Player package in the Publishing Console.

This did the trick and my Connection Group was published on the next Publishing Refresh. Caveat: this appeared to work but the package never went into production for other reasons so I would appreciate feedback from anyone else who has tried this.

That wasn’t the end of the story, although my shortcuts now appeared in the Start Menu, when I tried to launch the application I got “The application failed to launch. This may be due to a network failure” Error Code 0x5220110A-0004006:

Failed to launch

A “network failure” seemed unlikely to be the problem. Looking again at the App-V Client Admin log on the publishing server I found a 16001 event:
“A conflict was detected in the configuration settings for Virtual Object exclusions in virtual application connection group {c7765ec4-17a2-43be-8a4f-1a84849c7a2d} version {b65411b8-ad8b-419f-bdca-7dd47c28476a}. The virtual application could not be started. Verify that the settings are correct and try again.”

I could see this had the same GUID as my Connection Group but it wasn’t particularly helpful. As it mentioned Virtual Object Exclusions, I decided to switch on the Debug log for Subsystem-Vobjects and try again. Lo and behold a new message appeared:

Event 122

This technet blog post gives some idea what the * relates to:
http://blogs.technet.com/b/gladiatormsft/archive/2013/11/05/app-v-on-named-kernel-object-virtualization-a-k-a-the-vobjects-subsystem.aspx and why it’s not something we want in the package itself particularly as we have <Objects Enabled=”true” /> set in the XML

Unfortunately the message does not identify the problem package but I suspected this related to Visio and I was able to use Gridmetric Application Virtualisation Explorer to prove this (I also could have removed Visio or Flash from the CG to eliminate) and resolve the issue by viewing Object isolation exclusions and unticking the “Exclude all objects from Isolation” option:

AVEObjExcl

Without AVE I would probably have had to resort to re-sequencing the package from scratch as the sequencer provides no interface to edit the exclusions.

Advertisements

Author: henryvii

I'm an IT Professional with a particular interest in msi packaging,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s