Skip to main content

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?

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.


@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?


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.


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?


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.


Thanks @churcht thats exactly what I needed.


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?


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


@churcht worked a treat for me today.


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.



Hate to beat a dead horse, but I always screw the Composer part up.

Can you explain what permissions you set when building a package? Or do I "generally" not need to adjust anything?


Reply