VMware Horizon 7.8 Composer

Last Modified: Mar 16, 2019 @ 11:00 am

Navigation

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

Change Log

Planning

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. Download SQL Native Client (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.

ODBC

  1. On the Horizon View Composer server, run ODBC Data Sources (64-bit) from the Start Menu.
  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 supported with Horizon Composer 7.8 and newer.
  3. Don’t install on Horizon Connection Server: Horizon Composer cannot be installed on the Horizon Connection Server. Composer and Connection Server must be separate machines.
  4. 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
    1. 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
  5. 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
  6. Certificate: If you install a certificate now, Composer installer will prompt you to select it during installation. Or, you can replace the certificate later.
  7. DownloadHorizon 7.8.0 View Composer or Horizon 7.5.2 (ESB) View Composer.

  8. Install: Run the downloaded VMware-viewcomposer-7.8.0.exe or VMware-viewcomposer-7.5.2.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.
  9. In the Welcome to the Installation Wizard for VMware Horizon 7 Composer page, click Next.
  10. In the License Agreement page, select I accept the terms, and click Next.
  11. In the Destination Folder page, click Next.
  12. In the Database Information page, enter the name of the ODBC DSN.
  13. 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.
  14. 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.
  15. In the Ready to Install the Program page, click Install.
  16. In the Installer Completed page, click Finish.
  17. Click Yes when asked to restart the computer.
  18. 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

70 thoughts on “VMware Horizon 7.8 Composer”

  1. Please use os versions in your docs. I am running into an issue on server 2016 datacenter that i believe is due to the OS. Are you on windows server 2012?

  2. I have a question that I could not find a good answer. I’m trying to create a desktop pool (auto pool, float assignment, Linked clone), where the VDI desktops are NOT part of a domain (i.e. Workgroup mode). Is this something that is supported? Have someone gotten this to work? I’m trying different options in the ‘Guest Customization’ tab, but so far could not get the VMs to be provisioned (error Failed to join the domain). VMware docs seemed to say that only VMs that joined to a domain is supported (https://docs.vmware.com/en/VMware-Horizon-7/7.8/horizon-virtual-desktops/GUID-A9C86030-D3E3-4266-9581-E3EAFB8D4BD2.html).

    Any help is deeply appreciated.

    1. I’m pretty sure Active Directory is required to enable authentication between the various components, including user Single Sign on from the Connection Server to the Horizon Agents.

      Another option is the Direct Connect plug-in so you can bypass the Connection Server.

      1. Thanks Carl. I was hoping someone may have done this ‘workgroup’ mode method. If using manual pool, I can assign VMs that are in Workgroup mode to the pool. I was hoping to do it with the auto-provisioning of the VMs.

  3. Carl,

    Quick question about the Composer cert. I’ve followed your instructions and everything appears to have went smooth. When I go into the cert section and try exporting it the “Yes, export the private key” is grayed out for some reason. I’ve tried stopping/starting the service, but doesn’t seem to change. Tried updating the friendly name to vdm, but no change as well.

    ZT

    1. If you can’t export the private key, then your only option is to delete the certificate and remake it (or reimport it), but this time check the box to allow the private key to be exportable.

          1. We run an internal MS CA and I just finished deploying 7.8 on vSAN, created my own key, but didn’t mark it exportable in the key request. Things seems to be working ok. Should I regenerate the key?

  4. Hi Carl,

    I was upgrading co-installed viewcomposer and there was error message that it couldn’t stop one of the services and installation was interupted and automatic roll back was in place. After that I have noticed that previous composer is uninstalled and while I’m trying to install the new one and use the current database I receive error message that cannot connect to Database all ODBC DSN settings are correct and testing is successful, but during installation after I enter username and password keep getting this: error occurred while connecting to Database.

    Do you have any idea what causes this?

  5. Hi Carl,

    I was trying to upgrade the co-installed viewcomposer from 7.7 to 7.8 but while installation process received error message :
    Product: VMware Horizon 7 Composer — The installer failed to stop the Vstor2 UFA Virtual Storage Driver. The service may be in use by a previous version of this application or by another VMware application. To ensure a successful installation, please restart your machine and relaunch this installer.

    After this installation rolled back, but looks like viewcomposer is uninstalled. I have tried to install it back but its not connecting to current database. System ODBC DSN testing is successful, but during installation when I enter the username and password for ODBC I just receive a message: an error occurred attempting to connect database. Have seen similar issue:?

    Thank’s in advance.

  6. Hello, thank you for these tutorials, very useful !
    I have one question about composer, i already have a VDI production environment, i want to create a little VDI test environement (dedicated connection server, composer, etc…) but actually i have only one vCenter for our production, is it possible to install a second composer and link it to our vcenter, the idea is to create new folders/ressource pools for a VDI pool test.

    Best regards

    Daniel

  7. 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.

  8. 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.

  9. 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 ?

  10. 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

  11. 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.

  12. 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?

  13. 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.

  14. 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.
    Thanks.

  15. 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.

  16. Really good guides to follow. Well done.

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

      1. Part of the view Composer configuration requires creating a VCMP_ADMIN_ROLE in MSDB. MSDB is never included in a AlwaysOn Availability Group. Therefor these permissions need to be granted on each replica necessary for HA.
        https://docs.vmware.com/en/VMware-Horizon-7/7.0/com.vmware.horizon-view.installation.doc/GUID-6C54B536-3C00-49C3-8316-C421BBE26E29.html

        The only reason to create this role and grant the permissions requested would be for it create and modify jobs. Since you’re only connecting via the Listener, these jobs would only be added/modified/removed on the primary replica. If these jobs modify the data they will fail after the AG has failed over to the other replica and they’re now running on the secondary, which may/maynot be configured as a readable secondary (but definitely not writable)

  17. 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?

  18. 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.

  19. 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.

    Regards,

    Mobin

          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?

  20. 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 !

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

  22. 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?
    Thanks

    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.

  23. 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.

  24. 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?

  25. 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.

    Thanks

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

      Thanks and sorry for all the comments

  26. 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