Citrix Provisioning Services

XenApp applications won’t launch in a PVS environment with multiple network interfaces

on

If you click an application icon on your web interface or storefront site, Receiver will popup and say “Starting…” like normal and if you click for More information, it will say “Connection in progress…”. After about a minute, you will get a popup message saying:

Unable to launch your application. Contact your help desk with the following information: Cannot connect to the Citrix XenApp server. There is no Citrix XenApp server configured on the specified address.

Well that’s odd because you know the app is published. You know the sever is up. You know it’s talking to the ZDC and permissions are good or you wouldn’t be seeing the app. So what’s the issue?

Well one of the common reasons for this issue is that your have multiple NICs on the XenApp server (multihomed server) so there are 2 IP addresses for the server. This is a very common setup in a Citrix PVS environment when running XenApp. One NIC for regular traffic and the other NIC for streaming traffic. But even a regular XenApp environment can have 2 NICs for a variety of reasons. If that secondary NIC is firewalled, on a different VLAN, private, etc. you are going to have problems. That secondary NIC is not meant for ICA traffic but everyone is trying to connect to it. It will time out every time.

A quick way to confirm this from the client side is to click on the application icon again and while it says Starting…, open up a command prompt. Type “netstat” and you should see a SYN_SENT to the server on port 1494. If this IP address is your secondary IP that is not meant for ICA traffic, it will never get a response.

Now go to your server and open up a command prompt. Type “qfarm”. Does your XenApp server show up in the list twice? With both of it’s IP addresses? That’s not good and is another confirmation it’s listening on both NICs.

You can also confirm a third way by going into AppCenter, expanding Servers, clicking on your XenApp server, clicking the Information tab in the right hand pane, and seeing if there are two IP addresses in the “IP addresses” section.

So to fix this, you will need to set your ICA Listener to listen only on the NIC you want regular network traffic to be on.

If you go to Remote Desktop Servers Session Host Configuration, you can double click on the ICA-TCP connection and click the Network Adapter tab. Unfortunately in some environments, you might get an error message saying:

Remote Desktop Session Host Configuration tool is not able to obtain the properties for this connection. The connection has either been deleted or the internal state of this connection has been corrupted. Please close all property pages, and select refresh from the menu.

So to get around this, go to Administrative Tools > Citrix > Administration Consoles > and click on ICA Listener configuration:

Notice how it’s set to “All network adapters configured with this protocol”. Click Edit and go the Network Adapter tab. In the drop down, choose just the NIC you want ICA traffic on:

In my case, I want ICA traffic to be on “Citrix PV Ethernet Adapter #1”. So I will choose that and click OK. Now you can go ahead and restart the IMA Service on your XenApp server but you don’t really have to in most cases. Just try launching your app again and it should come right up.

About Jason Samuel

Jason Samuel lives in Houston, TX with a primary focus on strategic advisory and architecture of end-user computing, security, enterprise mobility, virtualization, and cloud technologies from Citrix, Microsoft, & VMware. He also has an extensive background in web architecture and networking over his 20+ year career in IT. He is an Author, Speaker, and Local User Group Community Leader. He is certified in several technologies and is 1 of 63 people globally that is a recipient of the prestigious Citrix Technology Professional (CTP) award. He is 1 of 42 people in the world that has been awarded as a VMware EUC Champion and VMware vExpert. He is a featured author on DABCC which provides the latest IT Community News on Cloud, Data Center, Desktop, Mobility, Security, Storage, & Virtualization. In his spare time Jason enjoys writing how-to articles and evangelizing the technologies he works with. Disclaimer: The content and opinions expressed in articles and posts are his own and are by no means associated with his employer.

Recommended for you

2 Comments

  1. Dax Games

    January 21, 2013 at 7:20 PM

    Is it possible to do this with a script based on IP Address assigned to the network card?

  2. michael

    January 14, 2015 at 3:38 AM

    Thanks for your sharing. It works for me. You save my life.

Leave a Reply

Your email address will not be published.