About the Connection Group File
In this topic:
Connection group file purpose and location
Connection group purpose |
A connection group is an App-V feature that enables you to group packages together to create a virtual environment in which the applications in those packages can interact with each other. Example: You want to use plug-ins with Microsoft Office. You can create a package that contains the plug-ins, and create another package that contains Office, and then add both packages to a connection group to enable Office to use those plug-ins. |
How the connection group file works |
When you apply an Application Virtualization 5.0 connection group file, the packages that are enumerated in the file will be combined at runtime into a single virtual environment. Use the Microsoft Application Virtualization (App-V) 5.0 connection group file to configure existing Application Virtualization 5.0 connection groups. |
Example file path |
%APPDATA%\Microsoft\AppV\Client\Catalog\PackageGroups{6CCC7575-162E-4152-9407-ED411DA138F4}{4D1E16E1-8EF8-41ED-92D5-8910A8527F96}. |
Structure of the connection group XML file
In this section:
Parameters that define the connection group
The following table describes the parameters in the XML file that define the connection group itself, not the packages.
Field | Description |
---|---|
Schema name |
Name of the schema. Applicable starting in App-V 5.0 SP3: If you want to use the new “optional packages” and “use any version” features that are described in this table, you must specify the following schema in the XML file:
|
AppConnectionGroupId |
Unique GUID identifier for this connection group. The connection group state is associated with this identifier. Specify this identifier only when you create the connection group. You can create a new GUID by typing: [Guid]::NewGuid(). |
VersionId |
Version GUID identifier for this version of the connection group. When you update a connection group (for example, by adding or updating a new package), you must update the version GUID to reflect the new version. |
DisplayName |
Display name of the connection group. |
Priority |
Optional priority field for the connection group. “0” - indicates the highest priority. If a priority is required, but has not been configured, the package will fail because the correct connection group to use cannot be determined. |
Parameters that define the packages in the connection group
In the <Packages> section of the connection group XML file, you list the member packages in the connection group by specifying each package’s unique package identifier and version identifier, as described in the following table. The first package in the list has the highest precedence.
Field | Description |
---|---|
PackageId |
Unique GUID identifier for this package. This GUID doesn’t change when newer versions of the package are published. |
VersionId |
Unique GUID identifier for the version of the package. Applicable starting in App-V 5.0 SP3: If you specify “*” for the package version, the GUID of the latest available package version is dynamically inserted. |
IsOptional |
Applicable starting in App-V 5.0 SP3: Parameter that enables you to make a package optional within the connection group. Valid entries are:
|
App-V 5.0 SP3 example connection group XML file
The following example connection group XML file shows examples of the fields in the previous tables and highlights the items that are new for App-V 5.0 SP3.
<?xml version="1.0" encoding="UTF-16"?>
<appv:AppConnectionGroup
xmlns="https://schemas.microsoft.com/appv/2014/virtualapplicationconnectiongroup"
xmlns:appv="https://schemas.microsoft.com/appv/2014/virtualapplicationconnectiongroup"
AppConnectionGroupId="61BE9B14-D2B4-41CE-A6E3-A1B658DE7000"
VersionId="E6B6AA57-F2A7-49C9-ADF8-F2B5B3C8A42F"
Priority="0"
DisplayName="Sample Connection Group">
<appv:Packages>
<appv:Package
PackageId="1DC709C8-309F-4AB4-BD47-F75926D04276"
VersionId="*"
IsOptional=”true”
/>
<appv:Package
PackageId="04220DCA-EE77-42BE-A9F5-96FD8E8593F2"
VersionId="E15EFFE9-043D-4C01-BC52-AD2BD1E8BAFA"
IsOptional="false"
/>
</appv:Packages>
</appv:AppConnectionGroup>
App-V 5.0 through App-V 5.0 SP2 example connection group XML file
The following example connection group XML file applies to App-V 5.0 through App-V 5.0 SP2. It shows examples of the fields in the previous table, but it excludes the changes described above for App-V 5.0 SP3.
<?xml version="1.0" encoding="UTF-16"?>
<appv:AppConnectionGroup
xmlns="https://schemas.microsoft.com/appv/2010/virtualapplicationconnectiongroup"
xmlns:appv="https://schemas.microsoft.com/appv/2010/virtualapplicationconnectiongroup"
AppConnectionGroupId="61BE9B14-D2B4-41CE-A6E3-A1B658DE7000"
VersionId="E6B6AA57-F2A7-49C9-ADF8-F2B5B3C8A42F"
Priority="0"
DisplayName="Sample Connection Group">
<appv:Packages>
<appv:Package``
PackageId="1DC709C8-309F-4AB4-BD47-F75926D04276"
VersionId="C7DF4F63-5288-439C-ACEF-EF06BF401EC5"
/>
<appv:Package
PackageId="04220DCA-EE77-42BE-A9F5-96FD8E8593F2"
VersionId="E15EFFE9-043D-4C01-BC52-AD2BD1E8BAFA"
/>
</appv:Packages>
</appv:AppConnectionGroup
Configuring the priority of packages in a connection group
Package precedence is configured using the package list order. The first package in the document has the highest precedence. Subsequent packages in the list have descending priority.
Package precedence is the resolution for otherwise inevitable resource collisions during virtual environment initialization. For example, if two packages that are opening in the same virtual environment define the same registry DWORD value, the package with the highest precedence determines the value that is set.
You can use the connection group file to configure each connection group by using the following methods:
Specify runtime priorities for connection groups.
Note Priority is required only if the package is associated with more than one connection group.
Specify package precedence within the connection group.
The priority field is required when a running virtual application initiates from a native application request, for example, Microsoft Windows Explorer. The App-V client uses the priority to determine which connection group virtual environment the application should run in. This situation occurs if a virtual application is part of multiple connection groups.
If a virtual application is opened using another virtual application the virtual environment of the original virtual application will be used. The priority field is not used in this case.
Example:
The virtual application Microsoft Outlook is running in virtual environment XYZ. When you open an attached Microsoft Word document, a virtualized version Microsoft Word opens in the virtual environment XYZ, regardless of the virtualized Microsoft Word’s associated connection groups or runtime priorities.
Supported virtual application connection configurations
Configuration | Example scenario | ||||||
---|---|---|---|---|---|---|---|
An. exe file and plug-in (.dll) |
|
||||||
An. exe file and a middleware application |
|
||||||
An. exe file and an .exe file |
You have an application that relies on another application, and you want to keep the packages separate for operational efficiencies, licensing restrictions, or rollout timelines. Example: If you are deploying Microsoft Lync 2010, you can use three packages:
You can manage the deployment using the following connection groups:
When the deployment has completed, you can either create a single new Microsoft Office 2010 + Microsoft Lync 2010 package, or keep and maintain them as separate packages and deploy them by using a connection group. |