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 master virtual machine (VM) must be created and paired with the cloud plane, then customized according to your organization's needs, and then converted into an assignable desktop image.

An assignable image is an image that has successfully completed the Horizon Cloud sealing process and Horizon Cloud can use it to provision RDS farms (in the case of RDS-enabled server images) or VDI desktops (in the case of non-server images). Other terms sometimes used to describe such images are sealed images and published images. Sealing an image is sometimes referred to as publishing the image or converting the image to a desktop.

Creating the image involves this high-level sequence.

First, Create a Master Virtual Machine (VM)

You create a master VM either using the automated wizard or manually.

  • The recommended and standard way is to use the Import Desktop wizard's option to create the master VM using one of the supported VM configurations from the Microsoft Azure Marketplace. Using the wizard automates building the master virtual machine (VM) and configuring the VM to conform to the Horizon Cloud environment's requirements, including installing and configuring the appropriate agent-related software. The wizard also provides options for optimizing the VM, which can prevent Microsoft Windows Sysprep errors from occurring. From the Inventory page, start the Import Desktop wizard by clicking Import and then select the From Marketplace option. For steps, see Create a Master Virtual Machine Automatically from the Microsoft Azure Marketplace and Pair it with Horizon Cloud.
    Important: If your pod in Microsoft Azure is configured to use a proxy, you must create the base master VM using the alternative manual method, and not the automated Import Desktop method.
  • 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 the Master Virtual Machine in Microsoft Azure. 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 master 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 Desktop Wizard and Deciding to Remove Windows Store Apps When Using the Import Desktop Wizard.

Second, Pair the Master VM with Horizon Cloud

Note: For a pod that has a manifest version lower than 1600 and you run the automated wizard to create an image in that pod, the resulting VM is automatically paired with the cloud. In this case, the Imported VMs page will indicate the agent is in an active state. For this situation, you proceed with the third high-level step, customize the VM.

When the pod is:

  • Manifest version 1600 or higher (created after the September 2019 service release), whether you used the automated wizard or the manual method to create a master VM with the agent software on it, the resulting VM is not yet paired.
  • Manifest versions prior to 1600, when you use the manual method to create a master VM with the agent software on it, the resulting VM is not yet paired.

For both of the above cases, the Agent Status column on the Imported VMs page will display Not Paired for the VM. The following screenshot illustrates a VM that is not yet paired with the cloud.


Screenshot of the Imported VMs page listing the VM with Not Paired in the Agent Status column

In either of the above cases, you must explicitly pair the VM with Horizon Cloud. The specific steps to explicitly pair the VM depend on the manifest version of the pod in which the VM is located.

For a pod of manifest version 1600 or higher
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 from Not Paired to Unknown to Active. You have to refresh the page using the circular arrow icon to see the status changes.
For a pod of manifest versions lower than 1600
When the master VM was created manually, you explicitly pair the VM by following the steps in Manually Pair the Configured Virtual Machine with Horizon Cloud For Pods with Manifests Lower Than 1600.

The pairing process is completed when the Agent Status column displays Active and an agent version, such as 19.3.0. The following screenshot illustrates a VM after the pairing process is completed.


Screenshot of an imported VM with its Agent Status column displaying Active (19.3.0)

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 master 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 Master Image VM's Windows Operating System and Install NVIDIA Graphics Drivers in a GPU-Enabled Master Image.

Important: Starting with the December 2019 service release, the Import Virtual Machine wizard provides the option of either having the wizard-created VM joined to a specified Active Directory domain or not having the VM joined to the domain. Prior to the December 2019 service release, the wizard-created VM was always automatically joined to the domain. Your organization might also choose to join manually created VMs to a domain, to allow for domain admin accounts to log in and customize those VMs prior to sealing them.

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. However, when your pod has not yet upgraded to manifest version 1230 or later, and if your organization has a policy that prevents use of local administrator accounts on domain-joined VMs, you will not be able to log in to the master image to customize it until you configure the DaaS Direct Connect Users local group with those domain accounts you want used for customizing the image. Prior to pod manifest 1230, the agent software installed in a domain-joined VM prevented domain accounts from directly connecting to that VM. For details, see When Your Pod is Not Yet Upgraded to Manifest 1230 or Later, How to Configure the Ability for Domain Accounts to Remote Connect to the Imported Image.

Finally, Convert that Master VM to a Published Image

You use the New Image workflow in the Administration Console to convert that master VM to an assignable desktop image. For steps, see Convert a Configured Master Virtual Machine to an Assignable Image.

After the master 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-enabled Windows Server image, RDSH farms based on that image. You can create both types of farms from the same published RDS-enabled server image: desktop farms to provide session-based desktops and application farms to provide remote applications. When you have a farm, you can use it to make assignments to users. See Farms in Horizon Cloud.
  • From a Windows client image, VDI desktop assignments based on that image. See Create a Floating VDI Desktop Assignment and Create a Dedicated VDI Desktop Assignment.

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 master image VM, when you run the Import Desktop workflow or manually create a master 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 a master 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 master 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.