Attempting to modify an existing application fails when the application exists in a mixed Delivery Group

book

Article ID: CTX696891

calendar_today

Updated On:

Description

In some environments, a Delivery Group may contain a mixture of VDAs from different Catalogs, with each set containing their own specific set of applications.  These VDAs may have Tags, with the relevant applications limited to VDAs with the specified Tag.  Attempting to modify one of these tag-limited applications may result in a failure.

Environment

The above mentioned sample code is provided to you as is with no representations, warranties or conditions of any kind. You may use, modify and distribute it at your own risk. CITRIX DISCLAIMS ALL WARRANTIES WHATSOEVER, EXPRESS, IMPLIED, WRITTEN, ORAL OR STATUTORY, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NONINFRINGEMENT. Without limiting the generality of the foregoing, you acknowledge and agree that (a) the sample code may exhibit errors, design flaws or other problems, possibly resulting in loss of data or damage to property; (b) it may not be possible to make the sample code fully functional; and (c) Citrix may, without notice or liability to you, cease to make available the current version and/or any future versions of the sample code. In no event should the code be used to support ultra-hazardous activities, including but not limited to life support or blasting activities. NEITHER CITRIX NOR ITS AFFILIATES OR AGENTS WILL BE LIABLE, UNDER BREACH OF CONTRACT OR ANY OTHER THEORY OF LIABILITY, FOR ANY DAMAGES WHATSOEVER ARISING FROM USE OF THE SAMPLE CODE, INCLUDING WITHOUT LIMITATION DIRECT, SPECIAL, INCIDENTAL, PUNITIVE, CONSEQUENTIAL OR OTHER DAMAGES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Although the copyright in the code belongs to Citrix, any distribution of the sample code should include only your own standard copyright attribution, and not that of Citrix. You agree to indemnify and defend Citrix against any and all claims arising from your use, modification or distribution of the sample code.

Cause

Under the current design, Studio expects any hosted applications to be installed on all VDAs in a Delivery Group.  As such, when selecting a VDA to use for processing changes to any application, the default behavior of Studio is to select the lowest numbered VDA that is online and Registered.  Tags are not processed during this selection, which can result in the selection of a VDA that does not have the application installed.  In this instance, attempts to modify the application will fail as Studio cannot confirm these settings against the selected VDA.

Resolution

Two workarounds exist for this issue.

  1. Prior to attempting to modify the application, power off all VDAs in the Delivery Group that do not have the application installed.
  2. RDP/Console into a VDA hosting the targeted application, then install and use the Remote PowerShell SDK to modify the application.
    1. Remote PowerShell SDK does not require a reboot to function, and installation on any Non-Persistent VDA will be removed at next reboot.
    2. Examples for File Type Association:
      1. Get-BrokerApplication -Name "Adobe Acrobat" | Set-BrokerApplication -FileTypesEnabled $true
      2. $app = Get-BrokerApplication -Name "Adobe Acrobat"

        Set-BrokerApplication -InputObject $app -AssociatedFileTypeName @(".pdf", ".pdx")

Issue/Introduction

A Delivery Group with a mix of VDAs, where only a subset of those VDAs contain a specific application, can result in a failure to modify that application.