I want to start this post by thanking all of you, our Citrix Optimizer fans! After less than two years, we have passed the magic mark of 100,000 downloads, we have templates for 11 different operating system builds, and you have helped us spread the word through many great discussions, community articles, presentations, social media posts, and even our first community marketplace!

As every parent knows, you blink, and your kids suddenly go to college. It feels like yesterday when we started planning the architecture for the first version of Optimizer, and today it’s already a software teenager.

And since all “old” members of the Optimizer team (Martin, Manoj, and Luis) have real kids to take care of these days, we were really happy to get few more helping hands with the current release. Thanks to Xiao Zhang, Zhipan Liu, and Xuan Li for all the help with current version. Raising kids is not an easy task, and we can use all the help we can get!

While we are getting ready for the next stage (having all the hard talks like, “What do you want to be when you grow up?”), we have decided to dedicate release 2.1 to fixing bugs, making Optimizer easier to use, and focusing on all the feedback we’ve received from you. Most of the improvements in the 2.1 release are based on feedback and bugs reported by our community — your feedback is critical in shaping the future of Citrix Optimizer.

Here’s a summary of all the changes you can find in release 2.1.

Template Marketplace — Support to Remove Third-Party Marketplaces

One of the most exciting features in v2.0 has been support for Citrix template marketplace and, more importantly, support for third-party marketplaces, such as Citrix Community Marketplace created by Ryan C. Butler (also big shout out to Dennis Span and John Billekens for their templates). If you want to, though, you can now remove these third-party marketplaces using the new “Remove Marketplace” shown below.

More Detailed Reporting

Previous versions of Optimizer provided only basic reporting capabilities. You could see which optimizations had been applied and whether they were successful. But if you wanted to see more details, you had to look at the source XML file.

There are however different reasons for why optimization can be marked as successful. For example, take disabling service. Optimizer can disable service, but maybe that service has been already disabled before or doesn’t even exists on this image. In all those cases, Optimizer will mark optimization as successful. In this new version, we provide all these details (and few more details, such as an actual service name and desired state).

Thank you Aunt Esther for teaching our young Optimizer this neat trick!

Template Builder — Detect Changes to Templates

When exiting Template Builder, we will notify you if unsaved changes could be lost. Previously, this message was displayed even if no changes were made.

Refreshing Available Templates

We found a few different scenarios where you would need to re-launch Optimizer to load new / downloaded templates. We’ve fixed the code responsible for loading templates and these problems should be fixed once and for all.

Template Builder — Help and Tips

To make Template Builder easier to use, we’ve added tooltips for all configuration fields and different plugin types. This should make it much easier to create your custom templates.


While we were at it, we also updated PowerShell tab (it looks much nicer now), added support to maximize this window, added support to automatically expand control to use all available space, and made a lot of other small changes.

Improved Search

All search boxes now have small “clear” button, and you can use the ESC key to clear the search box. It’s a small addition, but it’s very useful.

Better Version Checking

We’ve added support for custom proxy server and made a lot of improvements to checking for a new version of Optimizer. In previous versions, “Check for new version” would only open a respective CTX article.

Engine — Custom Output Folder

Optimizer by defaults saves all output to .\Logs folder. While this works great, there are some scenarios where you might want to use a custom location (for example if integrating with SCCM or other third-party software). You can now change the default location using -OutputLogFolder argument when calling the PowerShell engine.

Engine — Custom Template Prefix

PowerShell mode has a neat trick added since version 2.0. It can automatically detect the best matching template so you don’t need to use -Source / -Template argument to specify template path / name. However, this auto-detection currently supports only templates provided by Citrix (prefixed with “Citrix_Windows”).

If you want to use template auto-selection with your own templates, you can now override this default template. For example, if I create a template Martin_Windows_10_1903.xml, Optimizer will automatically select it if I use argument -TemplatePrefix “Martin_Windows” when using PowerShell mode.

Your Feedback Helps Make It Happen

Thank you for your continued support of Citrix Optimizer — this tool is driven by your feedback, and we want to build it for you.

Do you like this release? Are there any features in Citrix Optimizer that you are missing (or do you just want to tell us know how awesome it is)? Leave your feedback in the comments below, send us a note or tweet about your experience to me at @MartinZugec!

And finally, download the latest release of Citrix Optimizer today!

Your Citrix Optimizer team,

Martin, Manoj, Luis, Xiao, Zhipan, and Xuan

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.