Before you can start delivering desktops or RDS-based remote applications to your end users from your deployed pod, you must create at least one assignable desktop image. Creating this assignable image is a multi-step process: a base virtual machine (VM) must be created and paired with Horizon Cloud, then customized according to your organization's needs, and then converted into an assignable desktop image.
This page describes the sequence for creating single-pod-based golden images.
If the image is running a Windows 11 operating system, in addition to the requirement to be directly sourced from the Azure Marketplace, the image cannot have been subsequently processed for it to be validly supported in first-gen Horizon Cloud on Microsoft Azure deployments. Importing Windows 11 VM from any other sources such as Shared Image Gallery (SIG), Azure Managed Images, Azure VM snapshot, and the like is currently unsupported.
For additional considerations about supported combinations of Gen-1 and Gen-2 machines for the image-related workflows with first-gen Horizon Cloud on Microsoft Azure deployments, which OSes are supported for which machine generation, refer to Support for Images Sourced from Pods on Microsoft Azure.
In addition to the sequence described here, when your tenant is configured to use Universal Broker, the features of the Horizon Image Management Service and multi-pod images are available to you. For details on multi-pod images, see the guide Managing Horizon Images from the Cloud and its subtopics.
For Horizon Cloud on Microsoft Azure deployments, you first import a base VM from the Azure Marketplace. Customizing that base VM creates the golden image. Sealing that golden image results in the assignable image that can be used in your tenant's farms and single-session VDI desktop assignments.
That assignable image is an image that has successfully completed the Horizon Cloud sealing process and it can be used to provision farms (in the case of RDS-based images or multi-session images built on Windows Enterprise multi-session) or single-session VDI desktops (in the case of client-based images). In the Horizon Universal Console, the label Publish is used for the console's workflow to seal the image.
Creating a golden image which can be sealed and then used to provision RDS farms or VDI desktops involves the following high-level sequence.
First, Create a Base Virtual Machine (VM)
You create a base VM either using the automated workflow or manually.
- The recommended and standard way is to use the administrative console's automated workflow to create the base VM using one of the supported VM configurations from the Microsoft Azure Marketplace. Using the automated workflow automates building the virtual machine (VM).
In the default tenant configurations, the automated workflow configures the VM to conform to the Horizon Cloud environment's requirements, including installing and configuring the appropriate agent-related software. In this configuration, the workflow also provides options for optimizing the VM, which can prevent Microsoft Windows Sysprep errors from occurring. From the console's Inventory page, start the workflow by clicking Import. For steps, see Create a Base Virtual Machine Automatically from the Microsoft Azure Marketplace and Pair it with Horizon Cloud on a Per-Pod Basis. The wizard provides toggles that result in agent-related options getting installed in the VM, such as the App Volumes Agent and the Horizon Agent's remote experience features. Before selecting the remote experience features in the wizard, read Five Key Steps to Take with Your Golden Images to Get Optimal Remote Experience Performance from Horizon Cloud Farms and Desktops.
- An alternative to the standard way is to use the Microsoft Azure portal and manually perform all of the steps that the wizard automates. For information about these manual steps see Manually Build and Import a Virtual Machine from Microsoft Azure into Horizon Cloud. In that manual workflow, you must manually run the Horizon Agents Installer (HAI) to install the required agent software that allows for the VM to be paired with Horizon Cloud.
Important: If you use this alternative method, you are responsible for ensuring the resulting VM conforms to the configuration required by the Horizon Cloud environment. Applying the same configuration that are described for the automated wizard's Optimize Windows Image and Remove Windows Store Apps options is strongly recommended. Use of those configurations helps avoid Microsoft Windows Sysprep issues that might occur when the VM is later published as an image. See Deciding to Optimize the Windows Image When Using the Import Virtual Machine from Marketplace Wizard and Using the Remove Windows Store Apps Option When Using the Import Desktop Wizard.
Second, Pair the Image VM with Horizon Cloud
The following table describes what the Imported VMs page's Agent Status column will display for the listed cases where the resulting VM is not yet paired, even though it has the agent software installed on it.
|Creation Method||Displayed Status|
|Automated wizard||Not Paired (Import Successful)|
The following screenshot illustrates a VM that is successfully created using the automated wizard, but which is not yet paired with Horizon Cloud.
You must explicitly pair the VM with Horizon Cloud.
On the Imported VMs page, you use the Reset Agent Pairing action on the VM to explicitly pair the VM with Horizon Cloud. This process can take several minutes. During the pairing process, the VM is restarted and its agent status changes to Unknown to Active. You have to refresh the page using the circular arrow icon to see the status changes.
The pairing process is completed when the Agent Status column displays Active and an agent version, such as 19.4.0. The following screenshot illustrates a VM after the pairing process is completed.
Third, Customize the VM
When the pairing process completes and after refreshing the page, the VM's agent status shows as active, then you customize the image VM's guest Windows operating system (OS) with the third-party applications you want to provide to your end users, as well as configure any OS-level settings such as customized wallpaper, fonts and colors, drivers, and other such items. For steps, see Customize the Imported VM's Windows Operating System and Horizon Cloud on Microsoft Azure - Install the Appropriate GPU Driver in Your Imported GPU-Capable VM.
If the base VM was joined to the domain in the creation process, then domain admin accounts can log in to the VM to customize it.
Configure the VM for Optimal Remote Experience Performance
After you have customized the VM for your specific organizational needs, follow the steps in Five Key Steps to Take with Your Golden Images to Get Optimal Remote Experience Performance from Horizon Cloud Farms and Desktops to ensure your end users will receive optimal remote experience performance from their assigned desktops and applications.
Finally, Convert that Golden Image to a Published Image
In the default tenant configurations, for both RDSH and VDI images, you use the New Image workflow to convert those VMs to assignable desktop images. For steps, see Convert a Configured Image VM to an Assignable Image in Horizon Cloud on a Per-Pod Basis.
After the VM is converted, the image's Published status on the Images page indicates Horizon Cloud has sealed the image VM for use in the environment. When you see that the image on the Inventory - Images page displays the Published status, you can create:
- From an RDS-based image, RDSH farms created based on that image. You can create both types of farms from the same published RDS-based image: desktop farms to provide end-user access to session-based desktops and application farms to provide access to remote applications. When you have created a farm, you can then use it to make assignments to users. See Farms in Horizon Cloud.
- From a Windows client-based image, VDI desktop assignments based on that image. See Create a Floating VDI Desktop Assignment Provisioned by a Single Pod in Microsoft Azure and Create a Dedicated VDI Desktop Assignment Provisioned by a Single Pod in Microsoft Azure.
About the VMware Dynamic Environment Manager Agent Software and Creating Desktop Images in a Horizon Cloud Pod in Microsoft Azure
Starting with the July 2019 Horizon Cloud release, installation of the VMware Dynamic Environment Manager agent is incorporated into both the Horizon Agents Installer and the automated Import Desktop workflow. The VMware Dynamic Environment Manager agent component is also called the FlexEngine client component. The Horizon Agents Installer is the software package that installs the agent-related software in a new image VM, when you run the Import Desktop workflow or manually create an image VM. When you run the Import Desktop workflow, the Horizon Agents Installer runs behind the scenes to install the agents. When you follow the steps to manually create an image VM, you download and run the Horizon Agents Installer as part of those steps.
The July 2019 Horizon Cloud release corresponds with the 19.2 version of Horizon Agents Installer. The VMware Dynamic Environment Manager files are installed into the resulting image VM into file paths as described below.
- For a pod with manifest version 1493 and later, when the base image VM is created in that pod using the automated Import Desktop workflow
- This pod version is the first one in which the VMware Dynamic Environment Manager components are installed automatically into these base images by default. The resulting install file path is C:\Program Files\VMware\Horizon Agents\User Environment.
- For a pod with manifest version 1493 and later, when the base image VM is created using the manual method
- This pod version is the first one in which the Horizon Agents Installer has the option to install the VMware Dynamic Environment Manager components. If you choose to install that option when you run the Horizon Agents Installer in that manually created base VM, the resulting install file path is C:\Program Files\VMware\Horizon Agents\User Environment.
- For a pod with manifest version earlier than 1493, when the base image VM is created in that pod using the automated Import Desktop workflow or using the manual creation method
- In this case, the automated workflow does not install the VMware Dynamic Environment Manager components by default into the resulting VM. For base images in those older pods, you have to manually run the standalone VMware Dynamic Environment Manager installer that you download from the Horizon Cloud Downloads page in https://my.vmware.com. In this case, the resulting install file path is C:\Program Files\Immidio\Flex Profiles.