Product Documentation

Known issues

Aug 11, 2016

The following caution applies to any workaround that suggests changing a registry entry.

Caution: Editing the registry incorrectly can cause serious problems that may require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be sure to back up the registry before you edit it. 

XenApp and XenDesktop

The XenApp 7.8 and XenDesktop 7.8 release contains the following issues:

  • Using the mouse wheel to scroll and click inside a Framehawk session may not produce the expected results. Current workaround is to use different mouse. [#618657]
  • The AppDisk sealing process can take excessive time and CPU use, because a driver reads every file's metadata, which causes the virus checker to check every bit on the disk. To avoid this, before starting the sealing process, add CtxPvD.exe and CtxPvDSvc.exe to the exclusion list of your antivirus program. These files are located in c:\Program Files\Citrix\personal vDisk\bin. Disabling your antivirus program is not recommended. [#602819]
  •  Creating or deleting AppDisks in a VMware virtualization environment may fail if the VMware user account has permissions set at only the DataCenter level. As a workaround, ensure that the VMware user account has at least an empty role (that is, with no privileges) assigned at the vCenter level. If this is done, the required permissions may still be set at the DataCenter level.[#625416]
  • Browser add-ons for Local App Access and URL redirection cannot be enabled using NPAPI interfaces for Firefox and Chrome, as noted in the linked software support articles. This is a known issue and customers are encouraged to use Internet Explorer as a workaround. [#620101]
  • Screen corruption can occur when connected to a high resolution monitor (e.g. 4096 x 2160) using the VDA for Windows Desktop OS on Windows 7 with Aero enabled but without graphics hardware acceleration (GPU). To work around this issue, change the desktop theme to a non-Aero theme or reduce the resolution. [#618121]
  • If you are enrolled in Call Home, and your Controller, StoreFront, and VDA are installed on the same server, uninstalling any one of those components will likely also remove the Call Home component from that server. Workaround: re-enroll in Call Home.  [#616142]
  • After upgrading from version 7.5 (or from 7.6 if that was an upgrade from 7.5), Studio or the High Level SDK may fail to start because the file FMAUtils.dll failed to install. The Site upgrade failure includes the message: "Could not load file or assembly 'FMAUtils, Version ... The system cannot find the file specified." Workaround: Complete a repair install of the Studio MSI  ([XDInstallerRoot]\x64\DesktopStudio\DesktopStudio_x64.msi) or High Level SDK MSI ([XDInstallerRoot]\x64\Citrix Desktop Delivery Controller\XDPoshSnapin.msi). [#617897]
  • When publishing with App-V, applications with names containing an underscore (_) might not launch.  [#618488]
  • During Site creation, if you import licenses to the local machine, they may not display (this issue does not occur if you already imported licenses to an external machine). If this happens, complete the Site creation. In Studio, check Configuration > Licensing to ensure your product edition is properly set (the default is Platinum). The imported licenses will appear within approximately five minutes.  [#618538]
  • If you remove a Controller from a Site, a later attempt to move a Machine Catalog to a different zone might fail. Workaround: Use the Set-BrokerHypervisorConnection -PreferredController cmdlet and specify either a null value to trigger the automatic election of a preferred Controller (Get-BrokerHypervisorConnection -PreferredController $null | Set-BrokerHypervisorConnection -PreferredController $null), or a specific Controller.  [#619345]
  • If you created tags for applications in a previous version, they will not be visible in Studio after you upgrade to this version. (Those tags were originally stored in application metadata rather than as tag objects.) However, if you have scripts that use those tags, the tags will still work in the scripts. [#620041]
  • When a XenDesktop Site is in leased connection mode, if provisioned resources have been rebooted, users cannot establish a session to these resources until the Site comes out of leased connection mode (until the Controller is able to reach the Site database again). [#621521]
  • After a Site returns to normal operations after being in leased connection mode (due to Site database unavailability), Studio may continue to show VMs in an 'unknown' state and host connections in an 'unavailable' state. Workaround: Turn on maintenance mode for the affected connections, wait approximately 30 seconds, and then turn maintenance mode off. This will restore the correct state displays and available power actions. [#620941]
  • This issue affects only machines on VMware hypervisors. When deleting machines from a Delivery Group that had AppDisks attached, the AppDisk may be deleted from the hypervisor storage when the last machine is deleted from the hypervisor. This occurs only when AppDisks remain attached to the machine when the machine is deleted. To avoid this, complete the following tasks from Studio to ensure that the AppDisks are not attached to the last machine to be deleted. 
  1. Delete all but the last machine from the Machine Catalog (and then manually delete the corresponding VMs if using Provisioning Services).
  2. Power on the last machine. (Be sure to do this from Studio, not from the hypervisor.)
  3. Shut down the last machine.
  4. Delete the last machine (and then manually delete the corresponding VM if using Provisioning Services).

[#621002]

  • Ater upgrading XenDesktop, attempts to log off from a XenDesktop session might result in a blank desktop. The following error message appears:

    "Connection Interrupted
    Citrix Receiver will try to reconnect"

    [#LC6761]

Windows Server 2016 Tech Preview

You can access a list of issues identified when using this XenApp and XenDesktop release with Windows Server 2016 Tech Preview in the Windows Server 2016 Tech Preview forum (Citrix account logon required).

Other components

Components available separately on the XenApp and XenDesktop download pages have the following known issues.

Session Recording

  • The installation of the Session Recording Server components fails with error codes 2503 and 2502. Resolution: Check the access control list (ACL) of folder C:\windows\Temp to ensure the Local Users and Groups > Groups > Users has write permission for this folder. If not, manually add write permission. [#611487]
  • Because Session Recording does not support Framehawk display mode, sessions in Framehawk display mode cannot be recorded and played back correctly. Sessions recorded in that mode might not contain the sessions activities. [#622085]
  • You cannot record the Windows 7 desktop sessions correctly when Legacy Graphics Mode is enabled by XenDesktop site policy and Disk-based Caching is enabled by Citrix Receiver for Windows policy. Those recordings show a black screen. Workaround: Disable Disk-based Caching by deploying with GPO to the machines on which you installed Citrix Receiver for Windows. For more information about disabling Disk-based Caching, see http://support.citrix.com/article/CTX123169 and http://docs.citrix.com/en-us/receiver/windows/4-4/ica-overview-receiver-config/ica-import-icaclient-template-v2.html. [#618237]
  • The rollover setting does not apply to VDI desktop sessions for XenDesktop 7.8 and Session Recording Agent. In those cases, each recording file has a maximum size limit of 1GB and activities are not recorded after that limit is reached.  [#584890]
  • When Machine Creation Services (MCS) or Provisioning Services creates multiple VDAs with configured master image and Microsoft Message Queuing (MSMQ) installed, those VDAs have the same QMId. This might cause various issues, such as:
    • Sessions mighty not be recorded even if the recording agreement is accepted.
    • The session logoff signal might not be received by the Session Recording server, which leads to the session always in Live status. [#528678]

The workaround to create a unique and persistent QMId for each VDA differs depending on the deploy methods.

No extra actions are required if Desktop OS VDAs with the Session Recording agent installed will be created with PVS 7.7 or newer in static desktop mode; for example, configured to make all changes persistent with a separate Personal vDisk or local disk of the VDA.

For Server OS VDAs created by MCS or PVS or dedicated Desktop OS VDAs created by MCS in static desktop mode, for example, configured to make all changes persistent with a separate Personal vDisk or local disk of VDA, use a script (GenQMID.ps1) to modify the QMId at system startup.

For Desktop OS VDAs created by MCS or PVS and configured to discard all changes when user logs off, use another script (GenRandomQMID.ps1) to modify the QMId at system startup. Modify power management strategy to ensure that enough VDAs are running before users' login attempts.

To use the script, do the following:

 1.   Make sure the execution policy is set to RemoteSigned or Unrestricted, in PowerShell.

Set-ExecutionPolicy RemoteSigned

2.     Create a scheduled task and set the trigger as At system startup and run with SYSTEM account on the Provisioning Services or MCS master image machine.

3.     Add the command as a startup task.

powershell.exe -file C:\GenQMID.ps1
OR
powershell .exe -file C:\GenRandomQMID.ps1

Summary of the GenQMID.ps1:

  1. Generate the QMId based on the hash value of the machine UUID.
  2. Stop related services, including CitrixSmAudAgent and MSMQ.
  3. Start services that stopped previously to apply QMId's change.
GENQMID.PS1 FOR REFERENCE: Copy

function ConvertHexStringToByte($theString)

{
    $bytes = New-Object Byte[] ($theString.Length / 2)

    for ($i = 0; $i -lt $theString.Length; $i += 2) {

        $bytes[$i / 2] = [System.Convert]::ToByte($theString.Substring($i, 2), 16)
    }

    return $bytes
}

Try {

    # Get UUID of machine

    $strUUID = (Get-WmiObject -Class Win32_ComputerSystemProduct | Select-Object -Property UUID).UUID

    # Remove "-"

    $strUUID = $strUUID.ToString().Replace("-", "")

    # Convert string to bytes

    $UUID = ConvertHexStringToByte($strUUID)

    # Set UUID as QMId

    $new_QMID = $UUID

}
Catch {

    # IF exception occurred, just use MD5 digest of FQDN as QMID

    # Get FQDN

    $fqdn = [System.Net.Dns]::GetHostByName(($env:computerName)).HostName

    # Calculate MD5 hash of FQDN

    $md5 = new-object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider

    # Set md5 digest as QMID

    $utf8 = new-object -TypeName System.Text.UTF8Encoding

    $new_QMID = $md5.ComputeHash($utf8.GetBytes($fqdn))
}

# Write new_QMID into registry

Set-ItemProperty -Path HKLM:Software\Microsoft\MSMQ\Parameters\MachineCache -Name "QMId" -Value $new_QMID

# Restart MSMQ to adopt new QMId

# Get dependent services

$depServices = Get-Service -name MSMQ -dependentservices | Select -Property Name

Restart-Service -force MSMQ

# Start dependent services

if ($depServices -ne $null) {

    foreach ($depService in $depServices) {

        $startMode = Get-WmiObject win32_service -filter "NAME = '$($depService.Name)'" | Select -Property StartMode

        if ($startMode.StartMode -eq "Auto") {

            Start-Service $depService.Name
        }
    }
}

Summary of the GenRandomQMID.ps1:

  1. Remove current QMId from registry.
  2. Add SysPrep = 1 in HKLM\Software\Microsoft\MSMQ\Parameters.
  3. Stop related services, including CitrixSmAudAgent and MSMQ.
  4. Start services that stopped previously to generate a random QMId.
GENRANDOMQMID.PS1 for reference Copy

# Remove old QMId from registry and set SysPrep flag for MSMQ

Remove-Itemproperty -Path HKLM:Software\Microsoft\MSMQ\Parameters\MachineCache -Name QMId -Force

Set-ItemProperty -Path HKLM:Software\Microsoft\MSMQ\Parameters -Name "SysPrep" -Type DWord -Value 1

# Get dependent services

$depServices = Get-Service -name MSMQ -dependentservices | Select -Property Name

# Restart MSMQ to get a new QMId

Restart-Service -force MSMQ

# Start dependent services

if ($depServices -ne $null) {

    foreach ($depService in $depServices) {

        $startMode = Get-WmiObject win32_service -filter "NAME = '$($depService.Name)'" | Select -Property StartMode

        if ($startMode.StartMode -eq "Auto") {

            Start-Service $depService.Name

        }
}

}

  • When recording a session with a resolution higher than or equal to 4096 x 4096, there might be fragments in the recording appearance. [#524973]
  • When you change your XenApp or XenDesktop license type, the change does not take effect immediately for Session Recording. Workaround: Restart the VDA machine. [#532393]
  • Limitation for Session Recording to support the Pre-Launched application sessions [#561109]
    • Problem:
      • If the active policy tries to match the application name, the application launched in the pre-launched session will not be matched, which results in the session not being recorded.
      • If the active policy records every application, when the user logs into the Windows Receiver (at the same time the pre-launched session is established) a notification for recording will appear and the empty session and any applications that will be launched in this session later will be recorded.
    • Workaround:
      • Publish the applications in separate Delivery Groups according to their recording policy. Do not use the application name as the recording condition. This will ensure pre-launch sessions will be recorded. However, notifications will still appear.