Tips and tricks

Keeping it up to date – Maintaining you Reference Master Images

With the recent release of the Horizon suite of products (YouTube video), I wanted to share my thoughts on master image maintenance. Keep in mind that official VMware guidance should always be followed and there are a lot of publications already out there around overall design of a Horizon Enterprise solution. Here’s the one I usually point customers/partners to go read first, the “VMware Horizon 7 Enterprise Edition multi-site reference architecture”.

Even if your deployment does not look exactly like this, you might have a portion of that setup in your environment. As an IT admin, if you’ve deployed any virtualization solution, you know that maintaining a pristine Gold Master image is key. Whether it be one or many images to maintain, your operational efficiency will only be as good as your process around maintaining those images, the frequency at which you can update them, the simplicity of that update and speed to turn around and deploy an urgent fix when needed.

Now, let’s look at a solution where you have Horizon, App Volumes and User Environment Manager. VMware has a Knowledge Base article for Agent installation order, 2118048.

So, short version of that article, install the agent in this order:

  • VMware Tools
  • Horizon Agent
  • User Environment Manager Agent
  • App Volumes Agent

If you need to install any other agents, keep in mind that you should to do this before you install the App Volumes Agent. App Volumes Agent should always be the last component you install in your gold master Virtual Machine. If that agent is already present, just remember to turn it off (stop the service and disable it), install the other agent you need to install, then turn the App Volumes Agent service back on (enable it and start it).


Once your gold master image (or images) are up to date and the way you like them and need them to be, make sure you take a snapshot. Personally, I usually maintain no more than 1 snapshots, sometime, while during an update, I will go up to 3 snapshots for a Virtual Machine but will clean-up once I’m able to validate that the updates are working fine. The number of snapshots you keep will impact Virtual Machine performance and are not a long term solution (see this product documentation for more info).


Detailed steps of a Virtual Machine Gold Master Image upgrade

Now, let’s cover the steps I follow, when dealing with a VM that has all the agents mentioned above, to update and rollout that new image an environment.


  1. Take a Snapshot of the Virtual Machine while it is shutdown (smaller snapshot file since you’re not capturing live system with memory).
  2. Boot the VM, login with a local generic account (clean login to avoid capturing personal information from your domain profile).

Note: Make sure to login with an account that has no AppStacks or Writable Volumes assignments. Good validation step is to login to App Volumes Manager console first and check assignment of the account you will use to do the update.

  1. Stop AND Disable the Services:
    1. App Volumes
    2. User Environment Manager

Note: I always Disable the service in case there is a required reboot while doing the update.

  1. Reboot the Virtual Machine
  2. Update your system (applications, patches, security fixes or others), complete any required reboots
  3. Once everything is complete and you have validated that the updates are applied successfully, Restart the Services (and set them to automatic):
    1. User Environment Manager
    2. App Volumes
  4. Once last validation step, in the App Volumes Manager console, check that the Virtual Machine is showing online, and the timestamp is close to the time you restarted the service in previous step.
  5. A final reboot and login would be recommended but not mandatory, just to make sure everything comes up clean.
  6. Shutdown the Virtual Machine, Take your new snapshot

At this point, I usually have a small Desktop pool of test user where I will rollout this new updated image, ask targeted users to login and work in that image for a period (whatever your UAT process is), then if everything is working fine, will deploy this new image to rest of the environment. Lastly, I will clean-up the snapshots of my environment, making sure that before doing any deletion that I have checked in Horizon Admin console that no Desktop pools are currently using that old snapshots.


Some people will think that the steps above are a bit overkill and some steps could be saved. Yes, sometimes, you might be able to skip 2-3 steps in there but is the risk worth it for a few more minutes? Especially since you might have hundreds, maybe thousands of people rely on that Gold Master image being always “Perfect”!

Let me know what you think about this update process. On my end, I’m still running at a 100% success rate following these steps, hope this helps you as well…


2 thoughts on “Keeping it up to date – Maintaining you Reference Master Images”

  1. Damien says:

    Hi Stephane great article ! we also use to do almost the same process, I usually recommend having a script to do that in order to prevent missing any step before doing the snap (script should include delete tmp, disable services cleanup, delete dl win updates, verify no profiles remain, defrag …). I also advise to check at the registry for AppStack mounted volumes HKLM\System\MountedDevices to make sure it’s clean. Anyway thanks for the job I’ll sure use it for my next engagements

    1. Stephane Asselin says:

      Good information, thank you. A Powershell script is ideal, as you mentioned, once vetted, it removes the human part of the equation 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.