Welcome to the Liquidware Community Site.
Current and Future Clients/Partners are Welcome.

How I optimize my VDI images

SteveHajek ✭✭✭
edited July 2020 in General Discussions

Everyone has a different idea of what an “optimized image" is. Here I’ll lay out what I do to optimize my lab images to limit background noise and unnecessary CPU usage.  Generally, I do this same process regardless of what platform I’m using.  I’ve pieced this process together from first-hand troubleshooting and seeing some things that others are doing.


My main image is Windows 10 LTSC 2019 (1809) – I prefer LTSC because there’s less “noise” on it to begin with and I don’t have to deal with feature upgrades being forced eventually.

I use the Citrix Optimizer, really just personal preference which optimizer you use - just use something. :)


  1. Install from ISO, defaults, not on a domain or Azure AD – Local account only – Activate if needed
  2. Run Windows Updates, reboot, rinse and repeat until there are no more updates.  Then reboot and check for updates once more to be sure, you might be surprised.
  3. Install the LW runtime installer package*, reboot/shutdown and take a snapshot
  4. Run the optimizer tool of your choice and reboot (no snapshot yet)
  5. In gpedit.msc, Computer Configuration: (Maybe some nice person can turn this into a .REG file)
    1. Windows Settings, Security Settings, Local Policies, Security Options
      1. Enable “Domain member: Disable machine account password changes”
    2. Administrative Templates, Windows Components, Windows Defender Antivirus
      1. Enable “Turn off Windows Defender Antivirus”
    3. Administrative Templates, Windows Components, Windows Error Reporting
      1. Enable “Disable Windows Error Reporting”
    4. Administrative Templates, Windows Components, Windows Update
      1. Disable “Configure Automatic Updates”
  6. In Regedit, delete the following Key: HKLM\SYSTEM\CurrentControlSet\Services\DiagTrack
  7. In File Explorer, take ownership of “C:\Windows\SysWOW64\OneDriveSetup.exe”, remove all existing ACL’s and add in only one for Everyone with DENY for Full Control – This seems to stop it from running for each user at each login and from letting Windows “fix” the file.  Maybe you want OneDrive, though...?
  8. In an elevated cmd prompt: ipconfig /release & shutdown -s -t 0
  9. Take a snapshot

At this point I consider this to be an "optimized image".

*Step 3 needs to be consistent on both your ProfileUnity VDI images as well as the FlexApp Packaging Console. If one has all run-times installed, the other needs them as well. If you have existing packages and install this after, you may need to re-capture those applications. Runtime Installer Package: https://liquidwarelabs.zendesk.com/hc/en-us/articles/360042135011-Runtime-Installer-Package