Hello, Optimizer fans!

We’ve just released the new version of Citrix Optimizer 2.8, and I’m excited to share some insights into new features and improvements. This release is focused on updating our templates and improving stability and user interface.

If you haven’t seen them already, we also published two blog post to answer the most commonly asked questions about Citrix Optimizer. Part 1 talks about when you should optimize your images, how to troubleshoot stability and compatibility issues, and our strategy for supporting new operating system builds. Part 2 talks about using Optimizer with other tools, integrating Optimizer in your image build process, and building your own templates. If you are interested in custom templates, you can also watch my Citrix Converge session.

And don’t forget. If you have feedback for us, you can always use our Citrix Optimizer feedback form, connect with us on the #citrix-optimizer Slack channel in the “World of EUC” workspace, or just reach out to me directly on Twitter. Your input matters, and we’re always excited to get feedback from the field!

Template Users

Added support for Windows 10 build 2004 and 2009

We have added support for Windows 10 builds 2004 and 2009 (also known as 20H2) in this release.

If you are confused about support for 2004, you are not alone. We officially released this template at beginning of July 2020, but you had to download it from the template marketplace (it was not part of binary released to web). Unfortunately, many customers didn’t noticed that this template was available.

To help, we added a new feature in this release. When you run Optimizer on a new operating system build without the best matching template, Optimizer will search the template marketplace to see if a better-matching template is available. If one is detected, you will be prompted to download it, as shown below:

New notification shows when a better template is available in the Template Marketplace.

In other words, if you are running Windows 10 build 2009 and you run Optimizer with older templates (2004), you will be notified that the template for your current build is available for download.

This behavior can be disabled by selecting “Do not find the preferred template from remote marketplace” in Settings. With this change, it will be easier for us to release updated templates to the marketplace without waiting for the next binary build of Optimizer.

History and Rollback

In this release, we are adding a History node where you can see all the previous runs of Citrix Optimizer. You not only can see the history, but you can also open generated report files (HTML) and review log files.

New “History” node in main UI with contextual actions.

A more important change however is the added support for rollback in the user interface. While rollback has been supported since Citrix Optimizer v1, it was only available through the command line interface (PowerShell). You can read more about rollback functionality in this blog post. When you click on “Rollback” action, changes from the selected run will be reverted.

New ability to rollback changes from user interface.

A few things to remember remember about rollback functionality:

  • You cannot revert removal of UWP applications. (You can manually reinstall them from the Microsoft Store, though.)
  • You should always have a backup of your image.
  • You should always review all optimizations. Each environment is unique, and it is important to understand all changes.
  • Rollback only reverts actual changes that have been made by the template. For example, if a service has been disabled before by another tool, Optimizer will not enable it. It will be skipped instead

Improved UI Status Reporting

We have slightly changed the text in the UI status reporting, from “Optimized” and “Not Optimized” to “Success” and “Failed.” This isn’t earth shattering, but we have also added additional information when you hover over the status icon, showing details of the action (this was previously available only in the HTML report).

More details are available when reviewing status.

Open Template with Argument

We have added a new argument to CitrixOptimizer.exe. You can now use “-Template” to specify which template you want to open after the user interface loads. Even better, this feature supports AutoSelect mode. To open the Citrix Optimizer UI with the best matching template, you can use “CitrixOptimizer.exe -Template AutoSelect”.

Templates Updates

In this release, we also removed following the optimizations:

  • VP9 Video Extensions — These codecs are required for HDR streaming. This is not a very common requirement for VDI/RDS workloads. This optimization has been moved to “Optional Components” group and is unchecked by default.
  • Shell Hardware Detection — This optimization can generate entries in the event log by AppX packages and is also required for some niche use cases (for example, USB redirection for DVD writers).
  • Optimize Drives — Disabling this entry prevents the defragmentation UI from working properly.
  • Connected User Experiences and Telemetry — Disabling this service prevents Microsoft Defender for Endpoint (previously known as Microsoft Defender Advanced Threat Protection) from working properly.

Below is summary table of templates and optimizations that we have removed:

Template Name Services – ShellHWDetection Services – DefragSvc Services – DiagTrack UWP – VP9VideoExtensions
Citrix_Windows_10_1607 X X X
Citrix_Windows_10_1703 X X X
Citrix_Windows_10_1709 X X X
Citrix_Windows_10_1803 X X X
Citrix_Windows_10_1809 X X X
Citrix_Windows_10_1903 X X X X
Citrix_Windows_10_1909 X X X X
Citrix_Windows_10_2004 X X X X
Citrix_Windows_7 X X
Citrix_Windows_8 X X X
Citrix_Windows_Server_2008R2 X X X
Citrix_Windows_Server_2012R2 X X X
Citrix_Windows_Server_2016_1607 X X X
Citrix_Windows_Server_2019_1809 X X X

Instead of simply removing these optimizations, we have added a new group called “Rollback” to all affected templates. Settings in this group restore affected services back to the default state. We also have included information about functionality that was affected by these optimizations.

New group called “Rollback” has been added to all templates to fix known issues.

We have also expanded templates with new optimization, with a primary focus on the last three builds of Windows 10.

We’ve added the following optimization to Windows Server 2016 and Windows Server 2019 build 1809:

  • Miscellaneous – DeleteUserAppContainersOnLogoff

We’ve added the following optimizations for Windows 10 builds 1909, 2004, and 2009:

  • Services – Geolocation Service
  • Services – Downloaded Maps Manager
  • Scheduled Task – Cellular
  • Scheduled Task – Diagnostics
  • Scheduled Task – NotificationTask
  • Scheduled Task – RecommendedTroubleshootingScanner
  • Scheduled Task – ReconcileFeatures
  • Scheduled Task – ReconcileLanguageResources
  • Scheduled Task – RefreshCache
  • Scheduled Task – ResPriStaticDbSync
  • Scheduled Task – ScanForUpdates
  • Scheduled Task – ScanForUpdatesAsUser
  • Scheduled Task – SilentCleanup
  • Scheduled Task – SmartRetry
  • Scheduled Task – SpaceAgentTask
  • Scheduled Task – SpaceManagerTask
  • Scheduled Task – SpeechModelDownloadTask
  • Scheduled Task – Sqm-Tasks
  • Scheduled Task – StorageSense
  • Scheduled Task – UninstallDeviceTask
  • Scheduled Task – Usb-Notifications
  • Scheduled Task – WIM-Hash-Management
  • Scheduled Task – WsSwapAssessmentTask
  • Miscellaneous – DeleteUserAppContainersOnLogoff

Template Builders

Improved PowerShell Support

Oh boy, there is a lot of love for PowerShell users in this release. First, we have added CDATA to all XML nodes. This format enables us to better store characters that are common in PowerShell code but not very common as XML values (such as “<” or “>” characters in code). You can modify your code in the template builder and look the at saved XML. (You will notice that PowerShell code is now stored using special data block.)

We have also added a “Prepare Code” button. When you are working on a new code, simply click this button to get all variables pre-created for you. You no longer need to remember all those variable names.

Finally, we have added support for using a third-party editor for code editing. Do you prefer Visual Studio Code or PowerShell ISE instead of our Notepad-like user experience? Just click on “Open Code” to use the editor associated with .ps1 extension.

PowerShell support has been improved with code preparation and support for third-party code editors.

Sorting

If you have been wondering why all optimizations are now nicely sorted alphabetically, we have used our latest ability to sort them in Template Builder. It’s much easier than doing it manually.

Optimizations can be sorted alphabetically in the user interface.

Various Other Fixes

  • Updated Citrix logo
  • Registry module – Fixed REG_DWORD conversions (hexadecimal and decimal)
  • Registry module – HKLM\HKCU now supports colon in path
  • Fixed default path when using “Browse” button (now opens local .\Templates folder)
  • Fixed custom message processing in Template Builder
  • Template Builder – changed various default options (e.g. checkboxes that are selected by default)

Summary

The Citrix Optimizer 2.8 release is focused on stability and compatibility improvements — most notably, we have introduced the new “Rollback” group, added the ability to roll back changes in the user interface, and carefully reviewed all our templates and support tickets.

If you have experienced any issues (and already tried to troubleshoot them), please make sure to report them to us (using the Citrix Optimizer feedback form, our Slack channel at “World of EUC,” or contact me on Twitter).

Your Optimizer team,

Martin Zugec & Zhipan Liu


Citrix Tech Bytes – Created by Citrix Experts, made for Citrix Technologists! Learn from passionate Citrix Experts and gain technical insights into the latest Citrix Technologies.

Click here for more Tech Bytes and subscribe.

Want specific Tech Bytes? Let us know! tech-content-feedback@citrix.com.