VMware Horizon 4.10 client packaging

k3vmo
Contributor

When my server is complete - I'll need to deploy the VMware Horizon client as an application.

This doesn't have an installer with choices as AnyConnect does. It requires a server FQDN to be added in order to connect to the virtual desktop.

  • If I remember - it'll need to be deployed as a pkg first, correct?
  • Is there a way to populate the server address once the app is pushed to the system - or - on the first launch?
9 REPLIES 9

TCBIW
New Contributor III

Here is my process:
- Download and put the VMware Horizon Client.app into Applications
- Package the .app file into a .pkg file using Composer
- Put into Jamf using Jamf Admin
- Create a policy to install the .pkg and make it available in Self Service

The pre-populating of the server address is handled by a configuration profile.
Preference Domain: com.vmware.horizon

defaultBroker = https://MYVIEWSERVER:443/broker/xml
promptedUSBPrintingServicesInstall = true
kAutoDownloadForUpdates = false
broker-history = https://MYVIEWSERVER:443/broker/xml
trustedServers = https://MYVIEWSERVER:443/broker/xml
kAutoCheckForUpdates = false

There are more settings available, but that is what I use and it works for what I need.

k3vmo
Contributor

@churcht Thanks! Its required for all of my users - so - can I push the .pkg to just install it - rather than having it on self-service?

TCBIW
New Contributor III

No problem!

Ya that totally works. You could make a smart group that can check if that Application is installed.
Then create a policy that targets those machines and runs once, or maybe have it run once every day. That way if any computers ever don't show having the app, it will automatically be installed for them.

The Self Service thing is just what I do cause not every Mac user here needs it.

vanschip-gerard
Contributor

Hi @churcht

With configuration profile do you mean the configuration profile under policies? Not clear where you would enter that information. Or is it a configuration thing for the app itself created in something else?

TCBIW
New Contributor III

I'm talking about building a .plist file with the settings you want, then uploading it to the JSS as a Configuration Profile. This is separate from a standard policy.

Here is an example plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>broker-history</key>
    <array>
        <string>https://HORIZONSERVER:443/broker/xml</string>
    </array>
    <key>defaultBroker</key>
    <string>https://HORIZONSERVER:443/broker/xml</string>
    <key>promptedUSBPrintingServicesInstall</key>
    <true/>
    <key>trustedServers</key>
    <array>
        <string>https://HORIZONSERVER:443/broker/xml</string>
    </array>
    <key>kAutoCheckForUpdates</key>
    <false/>
    <key>kAutoDownloadForUpdates</key>
    <false/>
</dict>
</plist>

You can upload that to the JSS as a configuration profile, and scope that to the computers you want to have settings applied to.
38767cbd74ec4beabd34f5fdd73456a7
1d743751703c48d0b71d0bcbd11a1026

vanschip-gerard
Contributor

Thanks @churcht thats exactly what I needed.

housekid
New Contributor

I can not figure out how to pre-populate the server name. Does this work on version 5.4.x? Can someone share a .mobileconfig with me?

Robert_Willis
New Contributor

Would there be a way to populate the user's username using a plist?

marklamont
Contributor III

@churcht worked a treat for me today.