Feb 14, 2013 - 50 Comments - Virtual Vibes -

Connection Group Conflicts in App-V 5.0

Connection Groups are proving a really popular feature in App-V 5.0, however how do we handle the situation whereby one application is the member of more than one connection group and both are published to the same AD group?

Let’s take this following theoretical scenario with 3 apps (NotePad++, Winrar and Mozilla Thunderbird), apps that would never normally need to be in a connection group however they will do for the sake of explanation in this case:

winrarnotepadthunderbird

In the above scenario WinRar is a member of two connection groups, so what happens if we publish both these two connection groups to a user and that user launches one of these applications?

connectiongroups

 

Well it all depends what application we launch in terms of how this conflict is handled….

 

Scenario 1 – Launch NotePad++

 

This works fine, NotePad++ launches and loads Connection Group 1 that also contains WinRar:

notepadandwinrar

Notice Connection Group 1 is in use after launching NotePad++.

Scenario 2 – Launch Thunderbird

Same as above, when we launch Thunderbird it will go ahead and load its Connection Group 2 with WinRar:

thunderbirdandwinrar

 

Scenario 3 – Launch WinRar

 

WinRar is at the centre of this conflict because it has a foot in each connection group, therefore when we launch WinRar the App-V client doesn’t know which connection group to launch and we get the following error:

error

If we look this error up in Event Viewer we get a much clearer description of the issue stating

“The virtual application ‘\Device\HarddiskVolume1\ProgramData\App-V\FEA2DAD8-4B20-4F3E-9CC1-94023FDC5E8B\E425387E-5AD4-4279-B941-01B8691A1337\Root\WinRAR.exe’ could not be launched because the App-V Client could not determine which environment to use.  Provide a priority to the app connection group for the package and try again.

eventviewer

To fix this conflict we need to set a priority for the connection groups as advised by the error log. Theoretically we can do this on the Management Server using PowerShell:

This command will show the current connection groups, notice the priority values for both are set to 0 as default:

getconngroup

Let’s now make Connection Group 2 have a lower priority by running the following command:

setconngroup

Now this connection group has a lower priority and allow us to run WinRar. NOTE: If you are experiencing some issues around this setting not being reflected on the client please install Hotfix 1 for App-V 5.0 SP1 Management Server as detailed here.

Scenario 4 – Launch NotePad++ and then Thunderbird

This actually works just fine because we are never in the position where the client doesn’t know which connection group to launch, in this case launching NotePad++ will launch Connection Group 1 and then subsequently launching Thunderbird will in turn load Connection Group 2.

everything

I hope this sheds some light on how Connection Group conflicts are handled in App-V 5.0

For more on Connection Groups check these links out:

Advanced Connection Groups – The Sanity Check

Connection Groups – DSC improved for App-V 5.0

Deploying Connection Groups in Microsoft App-V v5

Connection Groups Internals (App-V 5.0)

Sequencing for Connection Groups

50 Responses to Connection Group Conflicts in App-V 5.0

  1. Parvez Akkas

    This will come in handy. Thanks for posting it Thamim. I'm still learning App-V but got a quick question. Let's say Connection Group 1 is not working for whatever reason. Will WinRar automatically default to Connection Group 2 and launch from there?

    26 Apr 2014 - Reply
    • Thamim Karim

      Hi Parvez, If the failure is on a application level App-V has no way to detect this therefore there will be no failover. The priority is only to handle conflicts and not for failing over. Hope that helps and give us a shout if you need more info!

      26 Apr 2014 - Reply
  2. Marie

    Hi Thamim, thanks a lot  for this post. It's very interresting. But, I have two questions : Which App-V 5.0 version have you use ? Can you do those steps with App-V 5.0 SP1 ? (Have you tried?)

    26 Apr 2014 - Reply
    • Thamim Karim

      Hi Marie, this applies to all currently released versions of App-V 5.0 including SP1

      26 Apr 2014 - Reply
      • Marie

        Thank you for your quick answer. I work with App-V 5.0 SP1 and even if I set the priority for each group (with PowerShell on the server), the App-V 5.0 Client doesn’t see those values. I note that the Xml generated on the server doesn’t send the groups priority to the App-V Client. In the database ([AppVManagement].[PackageGroups].[Priority]), each groups have a different priority, but in the XML generated on the server, the priority of each group is “0” every time. On the Client, in PowerShell, the priority of each group is “0”.

        26 Apr 2014 - Reply
        • Thamim Karim

          Hi, I get exactly the same! It's mentioned in the post that I have been unable to set priorities with the server. This is a known issue and you are not alone! The only current workarounds are to manually edit the descriptor.xml locally on the client or deliver the groups via standalone mode.

          26 Apr 2014 - Reply
  3. JLD

    The connection group priority feature is broken.  Hopefully MS will come out with a fix.

    26 Apr 2014 - Reply
    • Thamim Karim

      You are right, we hope to have this fixed soon…

      26 Apr 2014 - Reply
  4. VirtualizeMe-123

    Thanks in part to Tim Mangan's AppV_Manage tool found here (http://www.tmurgent.com/…/AppV_Manage)  I was able to come up with work around for the Connection Group Priority issue while Microsoft attempts to fix this.  The work around involves a few more steps and at large scale I would not use it but it suffices for now. Step 1. Download AppV_Manage and install on App-V 5.0 client Step 2. Create the connection group(s) you need using the tool. Set the appropriate priority for the group. Step 3. Copy the connection group XML files from the client to a central repository; optionally renaming them something that makes sense. I rename the XML files the same name that I chose for the connection group name. Step 4. Go to each end point where clients will be logging in and add the connection group; DO NOT enable it at this point. Powershell: Add-AppvClientConnectionGroup -Path C:\pathtoXMLFile.xml Step 5. Use a logon script or similar technology to enable the connection group for the user at logon based on their AD group membership.  I am using Appsense to do this.  Basically if user is in group A then enable connection group A.   Powershell: Enable-AppvClientConnectiongroup -Name NameofCconnectiongroup I still am maintaining the Default Connection group with a priority of 0 on the management server with no issue. All subsequent groups need to be managed in this way or something similar. I would be interested to find out about any other work arounds people find. PS. This is just one of several problems with App-V 5.0.  Microsoft please fix your product!!!

    26 Apr 2014 - Reply
  5. Nagendra

    hi, In the Example mentioned above, When i launch Winrar which is there in both connection groups, will winrar able to talk to both the other apps notepad++ and thunderbird. I mean to ask, we create connection group, so that they talk to each other. so can winrar talk to both the apps here as it is part of both connection groups.

    26 Apr 2014 - Reply
    • Thamim Karim

      Hi Nagendra,

      No, not in the setup above. Winrar can only open in one connection group. To achieve this you would put Winrar into a single connection group with both Thunderbird and NotePad++.

      26 Apr 2014 - Reply
      • Nagendra

        hi Thamim,    Thanks. i am trying to use connection groups using app-v 5 sp1 + hotfix(KB2873465) . i published 2 conneciton groups and assigned priority. but in publishing server page, am seeing only one conenction group and priority has not been changed. In short, changes to connection groups are not taking place. is there a bug already there.

        26 Apr 2014 - Reply
        • Thamim Karim

          Hi Negendra,

          Hmmm the groups should publish in any instance so that might be a separate issue however the priority setting not passing through was fixed in HF 1 for the management server as here: blogs.technet.com/…/hotfix-package-1-for-microsoft-application-virtualization-5-0-server-service-pack-1-now-available.aspx

          26 Apr 2014 - Reply
          • Nagendra

            hi, I ahev applied this HF1. still no luck…

            26 Apr 2014 -
          • Thamim Karim

            Have you looked into your event logs as to why it isn't being published?

            26 Apr 2014 -
          • Dinesh

            Hi Thamim,

            I am learning APP-v 5.0,I have created one connection group with two applications.For Exmp: A and B.IN the both packages file are same.the only change is in port numbers mentioned in one INI file.A will access 2010 B will access 2020.When the connection group published the two shortcuts in two applications are accessing 2010.When i launch B also it is accessing 2010(It should access 2020).Please explain me more on this case.

            16 Jun 2015 -
          • Thamim Karim

            Hi Dinesh,

            Is the .ini in the same path and named the same in both packages? If so it is likely being overridden by the primary package.

            17 Jun 2015 -
          • Dinesh

            Hi Thamim,

            Thank you very much for your reply.Having few more quires…

            Yes both the .ini are in same place and same name.

            Q1. when i have two packages in connection group how it is picking one package as an Primary package ? I tried to re order the packages still it is taking 2010 not 2020.

            Question 2:When we have two packages in connection group,and launching the one application ,those two separate bubbles will be merged into single bubble in connection group right?and if suppose two packages have same files and same INSTALLDIR one will be overridden by primary one right. Please correct if am wrong.

            Question 3:I have published application through powershell. When I launch the shortcut the targeted .exe is triggering 2 sub-process, which can be killed through terminate child after closing the parent one. when i close the parent one the parent process itself is not closing,so it is not killing the sub-process.So i am not able to uninstall the app due to virtual environment is in use.In this case how to kill the parent .exe.
            My thinking is can we write the parent .exe in terminatevirtualenvironment in userscripts of deploymentconfig.xml?

            Please suggest …

            17 Jun 2015 -
          • Thamim Karim

            Hi Dinesh,

            Q1: The connection group member priority is defined by the order in which they are listed inside the connection group – what method are you using to deliver packages and connection groups?

            Q2: Yes you are correct however if there is no direct conflict then the files and folders will merge.

            Q3: To be clear, have you correctly set the kill child processes for the parent process?

            17 Jun 2015 -
          • Dinesh

            Q1 : I am using powershell commands to deploy the packages and connection groups.my connection group is below.

            I have tried to reorder it 1.MistralNAS and 2.MistralATM but still it is taking value of 2010(MistralNAS value).Packaging process:first there is package MistralNAS.From that i just replaced the .ini and did save as a new package(MistralATM) using 5.0sp2 hotfix4.

            Q3: Below is the one which i have in my deployment file.

            Application Path=”[{LocalAppData}]\Citrix\GoToMeeting\2553\g2mstart.exe”/>

            The parent one is g2mstart.exe it will start 2 child process.after closing the application g2mstart.exe(this will not be closed in task manager.Process will be keep on running in tak manager).So how to kill that after closing the parent one(g2smart.exe)

            Please suggest.

            17 Jun 2015 -
          • Dinesh
            17 Jun 2015 -
          • Dinesh

            AppConnectionGroupId=”GroupID” VersionId=”versionid” Priority=”0″ DisplayName=”Mistral”>

            17 Jun 2015 -
          • Thamim Karim

            Can you launch an explorer into the bubble t check for each application which .ini it is finding: http://virtualvibes.co.uk/breaking-into-the-virtual-environment-in-app-v-5-0/

            Regarding Q3, this could be scripting but I would be interested in why terminate child processes is not working. Please can you raise this issue here so me and the guys can help you: https://social.technet.microsoft.com/Forums/en-US/home?forum=mdopappv

            Thanks

            17 Jun 2015 -
          • Dinesh

            Hi Thamim,

            I tried to launch the process(explorer.exe) in the virtual environment.

            $test=Get-appvclientpackage *Mistral_ATM*
            start-appvvirtualprocess -filepath “explorer.exe path” -appvclientobject $test.

            It opens explorer.but ican’t see the files of my application(the files installed to VFS).we can’t see the files installed into ROOT ?when i extract the package into local machine it is placing files under c:\ and c:\PF(x86)…

            Please suggest

            17 Jun 2015 -
          • Thamim Karim

            If you are in the virtual environment for the package you should see the VFS files and folders

            17 Jun 2015 -
          • Dinesh

            Thanks Thamim for you help,Will try once again and let you know.

            One more question: Can we edit the shortcuts with out going for update option every time when we need to change name or someother else..in stand alone mode(Installing package through MSI).

            Please suggest.

            17 Jun 2015 -
          • Thamim Karim

            Hi Dinesh,

            You can use the dynamic configuration files to change this if you don’t want to edit the package.

            18 Jun 2015 -
          • Dinesh

            Hi Thamim,

            I am the learning SCCM 2012 for deploying APP-V 5 Packages .

            Can i have a link (Videos or Documentation)Which should explain me Deploying APP-V 5.0 Applications Using SCCM 2012.

            Please Post you suggestions.

            Regards

            DD

            15 Jul 2015 -
          • Dinesh

            Thanks Thamim for your quick reply.

            15 Jul 2015 -
  6. Barn3y

    The Connection group priority failure to be passed to the client has been raised as an issue with the SP2 beta as well – so not fixed yet.

    26 Apr 2014 - Reply
  7. Lam

    I use the KB2873465 to fix my app-v5sp1, not work, Connection Groups alway is 0.

    26 Apr 2014 - Reply
  8. App-V 5.0 Ramp up Guide | VirtualVibes

    […] Connection Group Conflicts in App-V 5.0 | Blog […]

    1 May 2014 - Reply
  9. Connection Groups 2.0 in App-V 5.0 SP3 – More Manageable & More Flexible | VirtualVibes

    […] talked about connection group priorities in depth here and how priorities can be used to overcome these. Pre-SP3 has to be down via PowerShell on the App-V […]

    4 Dec 2014 - Reply
  10. Advanced Connection Groups – The Sanity Check | VirtualVibes

    […] This is handled by the Priority=”_” value within the effective .xml. More details on connection group conflicts can be read here […]

    3 Feb 2015 - Reply
  11. Dinesh

    AppConnectionGroupId=”ffd61dff-bc04-4b41-9a84-44691fbe70c5″ VersionId=”b501de61-7cc6-4121-888c-bed3f039eb74″ Priority=”0″ DisplayName=”Mistral”>

    17 Jun 2015 - Reply
  12. Planning for App-V Virtual Environments with SCCM 2012 | Virtual Vibes

    […] second type of priority is between connection groups themselves, a scenario described in detail here. SCCM currently does not give the ability to set the priority of a virtual environment nor does it […]

    12 Aug 2015 - Reply
  13. Suraj Malusate

    I have 2 or more than that excel add-in package ( without shortcuts ) which I have virtualized and I want after launching of Excel shortcut on client both packages add-in should display then how I can achieve that ? Note that Office is not virtualized here. Also I don’t want both excel should be part of single connection group.

    I tried with Run virtual subkey but it accepts only one default key resulting into only one add-in display.
    Can someone please help me ? It would be really appreciated.

    6 Apr 2016 - Reply
      • Suraj Malusate

        Hi Thamim

        Thanks for the prompt reply. Well I have tried above method suggested by Steve but no luck. Maybe I have done something wrong. Please find my test case –

        As per the post I had created empty package ( which consist of only single text file ) and created 2 separate add-in packages. Created 2 connection group as below :
        Connection group 1 : Empty package + Add in 1 package
        Connection group 2 : Empty package + Add in 2 package

        Here we have not created single group which consist of all 3 packages. As we used to get many packaging request so you never know which add-ins are already present on users machine.

        And in RunVirtual\excel.exe key given default value of empty package ID combination.
        So when I launched Microsoft Office 2010\Excel shortcut it just launches the add-in of only 1 package. I tried to assign priority also but it launches only one.

        How can I launch both excel add-in in a single go ?

        Hope you got my concern.

        6 Apr 2016 - Reply
        • Thamim Karim

          Why do you not want your empty package in a single connection group?

          6 Apr 2016 - Reply
          • Suraj Malusare

            I have added empty package in 1 connection group which consist of 1 add in package, so here it works. How we can acheive this for all other addin packages which may install on same machine in future ? I want generic solution by which whenever I sequence addin package it should launch by Excel shortcut and all addin should come.

            6 Apr 2016 -
        • Thamim Karim

          If you have separate connection groups then only one of them will load when the empty package is invoked. If you want them together you need to put them into a single connection group and make sure the open key is being built up in order as mentioned in the blog post. Adding a new plugin will mean updating the connection group.

          6 Apr 2016 - Reply
          • Suraj Malusate

            Thanks.
            Single connection group can be created when we know which multiple Add-in package will be installed on users machine at a time. That combination I can put in single conn. group.
            However in future say after 6 months if we virtualize any other Excel add-in package and we want that to be installed on few users machine ( on which already other add-ins are present ) then in that case how I can have new connection group with empty package ?

            RunVirtual registry can have only single default key then how the new add-in package will create its own default key ?

            7 Apr 2016 -
  14. Suraj Malusare

    Hi Thamim

    Is there any way to virtualize excel add-in in above scenario ?

    I strongly feel with different connection group it is not possible to invoke all add-ins , also Run virtual key has limitation of only one default key of same EXE which preventing us to launch other add-ins.

    We have tried in our test machines with all scenarios ( single connection group also tried but it is not suitable solution for our domain ). Before closing this just need your expertise advice.

    Thanks.

    12 Apr 2016 - Reply
    • Thamim Karim

      Hi, no you really need to be using a single connection group for this.

      18 Apr 2016 - Reply
  15. Nafis Alam

    Hi Thamim,

    We have 3 deployment type for the both application listed below
    1. for VM
    2. For STD
    3. For RDS

    After deploying (SCCM) the package we are getting more than 1 connection groups the same application. Because of this package is not getting publish or we can shortcut is not working.We already set the windows requirement for each deployment type.
    Connection groups are :

    Get-AppvclientConnectionGroup

    group id : XXXXXXXXX
    Version id : XXXXXXXXXXXX
    Name : VE_LIVR1XXX30_R3_LIVR9XXX_R14_DT_VM
    IsEnabletoUser : False
    Userpending : False
    IsEnabledGlobally : True
    GlobalPending : False
    InUse : False
    Percentloaded : 100
    Priority : 7295

    group id : *********
    Version id : ***********
    Name : VE_LIVR1XXX30_R3_LIVR9XXX_R14_DT_STD
    IsEnabletoUser : False
    Userpending : False
    IsEnabledGlobally : True
    GlobalPending : False
    InUse : False
    Percentloaded : 100
    Priority : 7295

    This might be issue with the same priority number.

    AS I erliear said there are 3 DT for both the application so
    1. only two coming 3rd one is not?
    2. As per me only RDS one has to come but this one is not coming?
    3. Any idea how to fix the issue.

    Note: If I remove one connection id the application is working fine.

    30 Jun 2017 - Reply
  16. Thamim Karim

    Hi Nafis, please can you log this query on the App-V TechNet forums: https://social.technet.microsoft.com/Forums/en-US/home?forum=mdopappv

    7 Jul 2017 - Reply
  17. kanth

    Hi Karim,

    Is it possible to launch Two independent addin to load in a single package?

    For eg A is the Primary package and B & C are two addin for A.

    When A is launched is it possible for A to be launched with B and C? Provided all are Virtualised. We are trying with Virtual Environment and we could able to launch only one Add-in but couldn’t achieve both. Any idea?

    23 Nov 2017 - Reply

Leave a Reply

Your email address will not be published. Required fields are marked *