VMware Horizon 7.7 Composer

Last Modified: Dec 16, 2018 @ 11:12 am


This post applies to all VMware Horizon versions 7.0 and newer, including 7.5.1 (ESB), and 7.7.

Change Log


If you’re doing Instant Clones, then you don’t need Horizon Composer. Composer is only needed for the older method of creating Linked Clones. However, Instant Clones requires Horizon Enterprise Edition, so maybe Composer is your only option.

vCenter Server planning:

  • A single vCenter Server can handle 10,000 VMs. However, this is a single point of failure. VMware recommends separate vCenter servers for each 2,000 or 4,000 VMs. More vCenter Servers means more concurrent vCenter operations, especially if your pools are configured for Refresh on Logoff.
    • Horizon 7.2 and newer supports 4,000 VMs per vCenter Server.
    • Horizon 7.1 and older supports 2,000 VMs per vCenter Server.
  • Each ESXi cluster is managed by one vCenter Server.
  • Don’t use existing vCenter servers. Build separate vCenter servers for the vSphere clusters that host Agent VMs. Horizon licenses include vCenter licenses, so there’s no excuse to not use separate vCenter servers.

Horizon View Composer server planning:

A remote SQL Server is needed for databases:

  • vCenter database
  • Horizon Composer database
  • Horizon Events database
  • Supported SQL versions are listed on the Solution/Database Interoperability tab at VMware Product Interoperability Matrices.

SQL Server Preparation

Only SQL Authentication is supported.

  1. Open the properties of the SQL Server.
  2. On the Security page, make sure SQL Server authentication is enabled.
  3. Create a new SQL database for View Composer.
  4. Call it VMwareHorizonComposer or similar. Then switch to the Options page.
  5. Select your desired Recovery model, and click OK.
  6. View Composer only supports SQL authentication on remote SQL servers. Expand Security, right-click Logins, and click New Login to create a new SQL login.
  7. Name the new account.
  8. Select SQL Server authentication.
  9. Enter a password for the new account.
  10. Uncheck the box next to Enforce password policy.
  11. Then switch to the User Mapping page.
  12. On the User Mapping page, in the upper half, check the Map box for VMwareHorizonComposer.
  13. On the bottom, check the box for the db_owner role, and click OK.

SQL Native Client

  1. Go to the SQL 2016 Feature Pack, and download sqlncli.msi.

  2. On the Horizon View Composer server, run sqlncli.msi.
  3. In the Welcome to the Installation Wizard for SQL Server 2012 Native Client page, click Next.
  4. In the License Agreement page, select I accept, and click Next.
  5. In the Feature Selection page, click Next.
  6. In the Ready to Install the Program page, click Install.
  7. In the Completing the SQL Server 2012 Native Client installation page, click Finish.


  1. On the Horizon View Composer server, run ODBC Data Sources (64-bit).
  2. On the System DSN tab, click Add.
  3. Select SQL Server Native Client, and click Finish.
  4. Enter the name HorizonComposer for the DSN, and enter the SQL server name. Click Next.
  5. Change the selection to With SQL Server authentication, and enter the credentials of the new ViewComposer SQL account. Then click Next.
  6. Check the box next to Change the default database, and select the VMwareHorizonComposer database. Then click Next.
  7. Click Finish.
  8. Click OK twice.

Install/Upgrade Composer

  1. Upgrade can be performed in-place.
  2. Windows Server 2019 is not yet supported, even with Horizon Composer 7.7.
  3. Don’t install on Horizon Connection Server: Horizon Composer cannot be installed on the Horizon Connection Server. They must be separate machines.
    1. Extra Memory for vCenter: If you install Horizon Composer on a Windows vCenter server, VMware recommends adding 8 GB of RAM to the server. See VMware 2105261 Intermittent provisioning issues and generic errors when Composer and vCenter Server are co-installed
    2. vCenter Service Account: if you install Horizon Composer on a Windows vCenter server, login as the same account that was used to install vCenter. See VMware 2017773 Installing or upgrading View Composer fails with error: The wizard was interrupted before VMware View Composer could be completely installed
  4. Internet access for CRL checking: If the Horizon Composer server does not have Internet access, see VMware 2081888 Installing Horizon View Composer fails with the error: Error 1920 Service VMware Horizon View Composer (svid) failed to start
  5. Certificate: If you install a certificate now, Composer installer will prompt you to select it during installation. Or, you can replace the certificate later.
  6. DownloadHorizon 7.7.0 View Composer or Horizon 7.5.1 (ESB) View Composer.

  7. Install: Run the downloaded VMware-viewcomposer-7.7.0.exe or VMware-viewcomposer-7.5.1.exe (ESB).

    1. If you’re prompted to install .NET 4.6.1, click Yes.
    2. Then run the downloaded NDP462-KB3151802-Web.exe.
    3. Check the box next to I have read and accept the license terms, and click Install.
  8. In the Welcome to the Installation Wizard for VMware Horizon 7 Composer page, click Next.
  9. In the License Agreement page, select I accept the terms, and click Next.
  10. In the Destination Folder page, click Next.
  11. In the Database Information page, enter the name of the ODBC DSN.
  12. Enter the SQL account credentials (no Windows accounts), and click Next. For remote SQL databases, only SQL accounts will work. The SQL account must be db_owner of the database.
  13. The VMware Horizon 7 Composer Port Settings page appears. If you already installed a valid certificate on the Composer server, select Use an existing SSL certificate, and select the certificate. Click Next.
  14. In the Ready to Install the Program page, click Install.
  15. In the Installer Completed page, click Finish.
  16. Click Yes when asked to restart the computer.
  17. If you encounter installation issues, see VMware 2087379 VMware Horizon View Composer help center

Administrator Permissions

If Horizon View Composer is installed on a standalone server (not on vCenter), Horizon Connection Server will need a service account with administrator permissions on the Horizon View Composer server. Add your Horizon View Composer Service Account to the local Administrators group.

Composer Certificate

  1. Open the MMC Certificates snap-in (certlm.msc).
  2. Make sure your Composer certificate private key is exportable. Try exporting the certificate, and make sure Yes, export the private key is a selectable option.

  3. Stop the VMware Horizon 7 Composer service.
  4. In the certificates console, double-click your Composer certificate. On the Details tab, note the Thumbprint.
  5. Run Command Prompt as Administrator
  6. Change the directory to C:\Program Files (x86)\VMware\VMware View Composer.
  7. Run sviconfig -operation=replacecertificate -delete=false.
  8. Select the certificate that matches the thumbprint you noted earlier.
  9. Then restart the VMware Horizon 7 Composer service.

SQL Database Maintenance

SQL password: The password for the SQL account is stored in C:\Program Files (x86)\VMware\VMware View Composer\SviWebService.exe.config. To change the password, run SviConfig ‑operation=SaveConfiguration as detailed at VMware 1022526 The View Composer service fails to start after the Composer DSN password is changed.

Database Move: To move the database to a new SQL server, you must uninstall Composer and reinstall it. See VMware 2081899 VMware Horizon View Composer fails to work properly after migrating the Composer database to a new SQL server

Related Pages

50 thoughts on “VMware Horizon 7.7 Composer”

  1. Hey Carl, thank you very much for this. Everything worked until the last step, installing ViewComposer which gives me the following message:
    “The wizard was interrupted before VMware View Composer could be completely installed.”
    No additional error messages.

    I have the following infrastructure, all of the three servers are completely new set up:
    – Standalone MS SQL Server Enterprise on Windows Server 2016
    – Standalone VMware Connection Server 7.6.0 on Windows Server 2016
    – Standalone VMware View Composer 7.6.0 on Windows Server 2016
    – Latest VCenter Server Appliance on Vsphere 6.7

    Any ideas?

    1. I found out by myself as I’ve read the Winodws Server system logfiles.
      I had to disable EFI secure boot on the Windows Server 2016 VM where I wanted to install the View Composer. Otherwise the driver installation will be blocked.

      1. I ran into the same issue Tony. Had to go into the settings of the VMware VM for the Windows 2016 VM server I was installing Composer and disable secure boot, reboot the server, install Composer, then I could reenable the Secure Boot.

  2. Hey Carl. Quick question. As you say, you should always use a separate dedicated vCenter instance. But is there a VMware mandated instruction that says you must use the bundled vCenter Desktop instance? i.e. if a customer decided that they wanted to use they’re existing vCenter license to manage both the server VM and VDI environments, are they somehow in breach of licensing agreements.

    1. Not that I know of.

      But I usually recommend dedicated so the server team can do whatever they want with their VMware without affecting the VDI VMware.

  3. I tried to install composer7.5.1 on Windows2016(latest patch)then got the install failed at last step, but It’s worked on Windows 2012. Have you tried Windows2016 ?

  4. others may find this useful.

    a Windows Server 2016 with Secure Boot enabled will cause the Composer installer to fail, a lot of error 1603 references in the logs.

    There is no KB on this.

    VIEINSTUTIL: Begin install
    VIEINSTUTIL: CustomActionData = vstor2-ufa;Vstor2 UFA Virtual Storage Driver;C:\Program Files (x86)\Common Files\VMware\VMware Universal File Access\vstor2-ufa.sys;2;1
    VIEINSTUTIL: Attempting to remove vstor2-ufa (stoppable=1)
    VIEINSTUTIL: Opened Service Control Manager
    VIEINSTUTIL: Failed to open vstor2-ufa (0x424)
    VIEINSTUTIL: InstallDriver: params = vstor2-ufa, Vstor2 UFA Virtual Storage Driver, C:\Program Files (x86)\Common Files\VMware\VMware Universal File Access\vstor2-ufa.sys, 2, 1, (no load order), 1
    VIEINSTUTIL: Opened Service Control Manager
    VIEINSTUTIL: Created service vstor2-ufa for C:\Program Files (x86)\Common Files\VMware\VMware Universal File Access\vstor2-ufa.sys
    VIEINSTUTIL: Failed to start service (0x241)
    VIEINSTUTIL: Finish install
    CustomAction InstallVstor2Driver.GUID returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)

    1. Thanks for the advice. I had the same issue. For VMware ESXi VMs you could disable Secure Boot from VM Settings -> VM Options -> Boot Options -> Secure Boot: Disabled

  5. Carl… Amazing — thorough post. VERY… no… EXTREMELY helpful!!!!!! Was hitting all kinds of roadblocks along the way… Very much appreciated — thanks for putting the time in for this doc… Cheers man.

  6. Carl, You stated that a remote SQL server is required and that only SQL Authentication is supported.
    If you put the DB local on a standalone Composer server, Windows Authentication can used, Correct?

  7. Hi Carl,

    Can you please advise on this case.
    There is a vCenter Server which needs to be migrated to VCSA and the problem is that Viewcomposer and SQL is installed on this server. I know that vCenter Database will be migrated to VCSA, but not sure for the Viewcomposer? Can I use same Viewcomposer or I should install new one. I Know that vCenter server will shut down automatically after migration with VMware migration tool.

    Thanks in advance.

  8. Hi Carl,
    Have you had any issues after installing the Horizon 7.4 agent on a Windows 7 VM template?
    After installation of the agent, the VM takes an extra 2 minutes to log in. If I uninstall the agent, the delay disappears.
    I install only the options I need. It seems related to the Composer service, which we do needs as we use linked clones.
    If I disable the service this also removes the log in delay.

  9. Hi Carl! First Thank you very much for all your articles ! It helps me a lot everyday on my daily work! I have a question concerning the storage design when implementing a new Horizon View Infrastructure with flash storage array. What should I take in consideration when designing the storage when there are any constraints in terms of capacity or IOPS requirements as it is a full flash storage ? How many datastore should I create to store my virtual desktop ? One per desktop pool ? Or one big datastore for all my virtual desktops ? How size should have my datastores ? So on ? Thanks in advance

    1. Depends on the array. Some, like Nutanix, have one very large LUN. Others have smaller LUNs so each LUN can have a separate HBA queue. NFS vs Block is a factor. Persistent vs non-persistent is another factor.

  10. Really good guides to follow. Well done.

    Is there a guide of adding in vcenter and view composer server (standalone) to horizon 7?

  11. I am getting Composer error requires .Net requires .Net 4.6 but I have 4.6.2 installed when doing a commandline silent passive install. This does not happen when I start the GUI to install. I assumed that the version were backwards compatible? What am I doing wrong?

  12. Hi Carl,

    Awesome write-up. I see you are using SQL 2016. Are you using the same SQL server for the View events DB? I can’t get mine to connect.

  13. Hi Carl,

    Thanks for the post. I’ve upgraded my Horizon environment from 6.x to 7.1 and it all went well except one issue with Composer Service.

    If I reboot the Composer Server than Composer service doesn’t start on it’s own, even though it’s set to automatic and running with Local System. If I start the service manually than it starts without any issue.

    While checking Event View I could see f Event ID 7009

    “A timeout was reached (30000 milliseconds) while waiting for the VMware Horizon 7 Composer service to connect.”

    Is this something you can help with please.



          1. I’ve already tried that with no luck. I’ve also tried to change the Logon Service account to a Domain Admin account, but that didn’t help either. Probably reinstall is the only option left and see if it makes any difference?

  14. If I am upgrading from 7.0.3 does horizon require a new license for 7.1 or does It use the previous 7.0.3 license with no additional purchase?

    Great post !

  15. I would recommend to install server certificate before Composer installation and simply select existing certificate, instead of perform replacement steps.

  16. You mention not to use existing vCenter servers, this is exactly what I am being asked to do and am trying to find a good explanation as to why we shouldn’t do it this way. How would you explain that this isn’t the best way to do it?

    1. It’s more of a best practice than a requirement. If you have more than a couple hosts running View Agent machines, then I put them in their own cluster managed by their own vCenter. This eliminates version dependencies with the rest of the vSphere infrastructure. And allows the full vCenter to be delegated to the Horizon Admins.

  17. Important note about installing VMware View Composer
    If you plan to install or upgrade View Composer 7.0.2, you must upgrade the Microsoft .NET framework to version 4.6.1. Otherwise, the installation will fail.

  18. In update to this, I switched to the SQL Server driver and this now works. I have not completed the installation as everywhere says not to do this and to use the native driver.

    Any thoughts on this?

  19. Carl I am getting an issue of “the database specified is not supported by vmware horizon 7 composer” any ideas why that would be?

    I am using server 2012 R2, SQL2014 and the ODBC Driver 11 for SQL Server.


    1. I found the correct driver it must be the from the SQL server 2012 feature pack!

      Thanks and sorry for all the comments

  20. Is this Installing Horizon View Composer fails with the error: Error 1920 Service VMware Horizon View Composer (svid) failed to start (2081888) applies for Windows Server 2012 R2 ?

Leave a Reply