Citrix Published Application Condition always matches first application launched

Version 1

    Verified Product Versions

    AppSense Environment Manager 8.6AppSense Environment Manager 8.5AppSense Environment Manager 8.4AppSense Environment Manager 8.2AppSense Environment Manager 8.1AppSense Environment Manager 8.3AppSense Environment Manager 8.0

    Introduction

    If the Environment Manager configuration has a Published Application Name condition, this will only be correctly evaluated if it is the first published application launched.  Subsequent different published application launches will be passed through to Environment Manager as first launched application.

    For example:

    A Condition for Published application name "IE" exists, with child actions, and another for "Notepad" with a separate set of child actions

    1. User launches the published IE application
    2. Environmment Manager matches this against the condition and child actions are applied. Environment Manager debug logs will show the successfull match:
      [CWFApi::PublishedApplicationName] Querying session with 'WFApplicationName'...
      [CWFApi::PublishedApplicationName] WF Published Application name: IE
      [CEMClientPublishedAppNameCondition::Evaluate] Comparing configured application: 'IE' and retrieved application: 'IE'…
      [CEMClientPublishedAppNameCondition::Evaluate] MATCH, condition satisifed
    3. User now launches the published "Notepad" application
    4. Environment Manager fails to match the "Notepad" application, and instead matches the "IE" application. Environment Manager debug logs will show the failed match against the launched application:
      [CWFApi::PublishedApplicationName] Querying session with 'WFApplicationName'...
      [CWFApi::PublishedApplicationName] WF Published Application name: IE
      [CEMClientPublishedAppNameCondition::Evaluate] Comparing configured application: 'Notepad' and retrieved application: 'IE'…
      [CEMClientPublishedAppNameCondition::Evaluate] NO MATCH, condition not satisifed

     

    Detail

    This issue is due to a limitation of the Citrix WfApi when Session Sharing is enabled - the API will always return the Published Application Name that was launched when the session was created.

    Whilst disabling Session Sharing would resolved this issue as it will create a new session for each published application launch, this may be undesirable as every running application would require its own session.

    References

    Citrix Article regarding Session Sharing: