Group policies in Citrix Studio are missing if the UPM - Software\Microsoft\Speech_OneCore policy under Profile Management > Registry > Default Exclusions was configured before upgrading the Delivery Controller from 7.11 to 7.14, from 7.12 to 7.14, or from 7.13 to 7.14.
Scenario 1:
After upgrading, you may experience the following error when trying to add/modify Citrix Policies with Studio 7.14:
Error ID:XDGP:BC0F745B. “Exception: System.Collections.Generic.KeyNotFoundException. The given key was not present in the dictionary.”
Scenario 2:
If trying to apply group policies through Active Directory, the Citrix AD GPO Plugin may throw an MMC error.
“The policy cannot be updated. System.Runtime.InteropServices.COMException 0x80004005: Error HRESULT E_FAIL has been returned from a call to a COM component.”
As a workaround, remove the policy UPM - Software\Microsoft\Speech_OneCore policy before upgrading the Delivery Controller.
Solution for Scenario 1:
If the policy is not removed before the upgrade and you experience the symptom for Scenario 1 above, as a workaround, you can either download the attached package and run the FixPolicies.ps1 file or complete the following steps manually:
NOTE: Before running the script or completing the steps manually:
IMPORTANT: If you receive an error after Step 5 below, do not re-execute Steps 1-5 by using the same policies.xml file name. The policies.xml file contains all the existing policies you have created for your previous deployment. Instead, check the log file for information or errors about what was done by the script. Then rename the previous policies.xml file and capture a new policies.xml file.
WARNING: Step 5 deletes all existing policies.
Take note of the log file locations generated by the export and import commands for future reference.
If no error is seen, the workaround is complete and you should be able to use Citrix Studio to edit policies as normal. If an error similar to the one below is seen, close the PowerShell window and open a new PowerShell window, then reimport the ImportPolicy.psd1 modules and continue the import.
Import-Module : A drive with the name 'LocalGpo' already exists.
At C:\ExportPolicy.psm1:372 char:13
+ Import-Module $s.ModuleName
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceExists: (LocalGpo:String) [Import-Module], ProviderInvocationException
+ FullyQualifiedErrorId : DriveAlreadyExists,Microsoft.PowerShell.Commands.ImportModuleCommand
Solution for Scenario 2:
The AD GPO symptom as stated in Scenario 2 above cannot be corrected using the script. It can only be manually corrected by fixing the GPO that has the offending setting configured. Edit the GPO using a version of Citrix AD GPO plugin that supports the setting to have the UPM - Software\Microsoft\Speech_OneCore setting removed. Or modify/delete the GPO so that it is not applied to the 7.14 environment.