As of Citrix XenDesktop Version 7.8 it is possible to use App-V packages (.appv files) directly from the directory. Therefore it is possible to refrain entirely from using an App-V Infrastructure with a Publishing-and-Management server. What you may be missing however are the App-V “Connection Groups”. With XenDesktop 7.11, Citrix integrated “Isolation Groups” into the product. The term means really nothing other than an App-V Connection Group, mixed however with a little Citrix XenDesktop magic in order to simplify greatly the use of Connection Groups. Isolation Groups can only be used with App-V packages directly imported via the directory. Packages that come from an App-V infrastructure (App-V Management server) cannot be placed into a Citrix Isolation Group. It's also not necessary, since Connection Groups can be defined with an App-V infrastructure and then synchronized on the respective end device upon application launch.
Isolation Groups thus round out the new ability to import packages directly and therefore also the simplification of using App-V packages with Citrix. This means in practice that all applications in a Connection Group or Isolation Group can function together in a virtual environment; each application sees the data and registry entries of the other applications. For example, in order for plug-ins or Runtime components like Java to be used together with other applications.
Creating an Isolation Group
Isolation Groups are added using the function “+ Add Isolation Group” (on the right side in Citrix Studio).
Now one determines in the dialogue “Edit Isolation Group” the applications that should function together in the group. In this example I'll use the free Paint.net and some plug-ins. These are components that I always use as an example for packaging into an “App-V Connection Group” in my training lessons.
Using the arrow buttons one can add new applications to the connection groups. Consider now the settings “Explicit” and “Automatic”:
- Explicit: The application must be added to the delivery group.
- Automatic: The application will be used automatically.
The reason why follows: one must add the primary application (in this example Paint.net) to a XenDesktop Delivery Group. The Paint.net plug-ins would be 'automatically' used if they are set to 'automatic'. Or in the case of Java applications, the primary application is to be set to 'explicit' and the Java Runtime (JRE) as 'automatic'. After starting the application Paint.net one can query the connection group on the respective end device using PowerShell. The command for this is: Get-AppvClientConnectionGroup
Get-AppvClientConnectionGroup GroupId : 1b76c653-24b5-4d61-b96e-6bf58de314de VersionId : 5df463a9-df8c-e611-80c2-0050563c4a5a Name : XD-PaintDotNetConnectionGroup IsEnabledToUser : False UserPending : False IsEnabledGlobally : True GlobalPending : False InUse : False InUseByCurrentUser : False PercentLoaded : 0 Priority : 0
After starting the application one can recognize the plug-ins.
Limitations of App-V Connection Groups
Citrix Isolation Groups are subject to the same limitations as App-V Connection Groups. This should be considered when making a package. Especially that the 'Advanced' settings need to be consistent. In general the following points should be considered:
- Only the VFS folder is connected, not the Root folder. • Registry keys can be overwritten; for example for different versions of the same plug-in. One must pay attention to the priority of the applications in the connection group.
- The priority of files or settings in the connection group is configured using the package list order. The first package has the highest priority, the following packages are prioritized in a descending order.
- The COM integration in the packages must be consistent.
Troubleshooting Citrix Isolation Groups
Connection groups are difficult to troubleshoot. Say one determines that a connection group is not functioning. The Event log can offer indications of what the problem may be. This can be found in the App-V area under Microsoft.
Something will only be shown with the Powershell Get-AppvClientConnectionGroup if the App-V Connection Group can also be published. All Connection Groups will be shown however with the command “Get-AppvClientConnectionGroup -All”.
App-V Connection Groups must fit to each other. This means, for example, that the settings for the COM objects in all package must be the same. Furthermore all App-V packages must be able to function with Citrix. Sometimes this becomes a problem. I further recommend the free tool App-V Commander.
http://www.adminscope.com/downloads/app-v-commander/
Using this tool one finds quite quickly what the possible problem is.
Troubleshooting Citrix Isolation Groups:
An Example Here a new group is created that won't function together with the whole since the settings between the various packages are not consistent.
Camtasia is synchronized with the other packages in the group after start up. The synchronization occurs in the directory “C:\Windows\Temp\CitrixAppVPkgCache”.
The Connection Group is created in the same directory as the XML files.
The connection group is indeed added, however not published and therefore doesn't work. The command “Get-appvcliuentconnectiongroup -all” displays the connection group:
What is the cause of the problem? A look at the Event log shows the cause:
The connection group {6e99604b-fe2f-4671-8531-588def802289} version {b037d4a5-968f-e611-80c2-0050563c4a5a} 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