Learn how to install, update, and uninstall TeamViewer Host or TeamViewer Full in a mass deployment scenario on macOS. Please ensure you have a basic understanding and knowledge of command-line installations on macOS, as it will be required to complete this process.
Install the standard Host version of TeamViewer
Required installer:
- TeamViewer_Host.pkg: Download the file in the TeamViewer (Classic) Management Console under "Design & Deploy" by clicking "Download installer" and choosing "PKG (Host & Full Client for macOS)".
- Unzip the compressed file.
Steps:
Enter the following command into the terminal:
sudo installer -pkg "TeamViewer_Host.pkg" -target /
The parameter -target defines the path where you want your installation to be located.
Install the standard Host version of TeamViewer silently
Required installer:
- TeamViewer_Host.pkg: Download the file in the TeamViewer (Classic) Management Console under "Design & Deploy" by clicking "Download installer" and choosing "PKG (Host & Full Client for macOS)".
- Unzip the PKG.
Steps:
1) Create an XML file called (e.g.: choices.xml) and enter the following content:
<?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">
<array>
<dict>
<key>attributeSetting</key>
<integer>1</integer>
<key>choiceAttribute</key>
<string>selected</string>
<key>choiceIdentifier</key>
<string>com.teamviewer.teamviewerhostSilentInstaller</string>
</dict>
</array>
</plist>
2) (Optional) verify if your configuration will be applied correctly
- Execute the following command:
installer -showChoicesAfterApplyingChangesXML newChoices.xml -pkg Install\ TeamViewer_Host.pkg -target /
- This will result in an output that should look similar to this:
<?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">
<array>
<dict> ... </dict>
<dict> ... </dict>
<dict>
<key>attributeSetting</key>
<false/>
<key>choiceAttribute</key>
<string>visible</string>
<key>choiceIdentifier</key>
<string>com.teamviewer.teamviewerhostSilentInstaller</string>
</dict>
<dict>
<key>attributeSetting</key>
<true/>
<key>choiceAttribute</key>
<string>enabled</string>
<key>choiceIdentifier</key>
<string>com.teamviewer.teamviewerhostSilentInstaller</string>
</dict>
<dict>
<key>attributeSetting</key>
<integer>1</integer>
<key>choiceAttribute</key>
<string>selected</string>
<key>choiceIdentifier</key>
<string>com.teamviewer.teamviewerhostSilentInstaller</string>
</dict>
</array>
</plist>
Apply the configuration during the installation by adding the parameter "-applyChoiceChangesXML <your_filename>.xml"
sudo installer -applyChoiceChangesXML choices.xml -pkg Install TeamViewer_Host.pkg -target /
3) If you have an MDM system, you can use Privacy Preferences Policy Control (PPPC) payloads to roll out Accessibility and Full Disk Access for TeamViewer in System Preferences ➜ Security & Privacy ➜ Privacy. Your users will still need to grant Screen Recording access themselves. Starting with macOS 11 Big Sur, you will need to use a ScreenCapture PPPC payload with AllowStandardUserToSetSystemService to allow non-admin users to grant this permission.
An example for an MDM configuration using Mobile Iron to roll out Accessibility access can be found here:
📄 MobileIron Integration - Add TeamViewer apps to macOS Mojave accessibility
Install the customized Host version of TeamViewer
Required installer:
- TeamViewer_Host.pkg: Download the file in the TeamViewer (Classic) Management Console under "Design & Deploy" by clicking "Download installer" and choosing "PKG (Host & Full Client for macOS)".
- Unzip the PKG.
Steps:
- Create a new customization or open an existing one (See How to customize your Host for details)
- Copy the ConfigurationID from your customized Host.
- Open the terminal or execute the pkg via a script.
- Add the ConfigurationID to the filename in the command line:
- sudo installer -pkg "TeamViewer_Host-idc<ConfigurationID>.pkg" -target /
Summary of parameters
Install the customized Host version of TeamViewer silently
Required installer:
- TeamViewer_Host.pkg: Download the file in the TeamViewer (Classic) Management Console under "Design & Deploy" by clicking "Download installer" and choosing "PKG (Host & Full Client for macOS)".
- Unzip the PKG.
Steps:
1) Create an XML file called (e.g.: choices.xml) and enter the following content:
<?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">
<array>
<dict>
<key>attributeSetting</key>
<integer>1</integer>
<key>choiceAttribute</key>
<string>selected</string>
<key>choiceIdentifier</key>
<string>com.teamviewer.teamviewerhostSilentInstaller</string>
</dict>
</array>
</plist>
2) (Optional) verify if your configuration will be applied correctly
- execute the following command:
installer -showChoicesAfterApplyingChangesXML newChoices.xml -pkg "TeamViewer_Host-idc<ConfigurationID>.pkg" -target /
- This will result in an output that should look similar to this:
<?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">
<array>
<dict> ... </dict>
<dict> ... </dict>
<dict>
<key>attributeSetting</key>
<false/>
<key>choiceAttribute</key>
<string>visible</string>
<key>choiceIdentifier</key>
<string>com.teamviewer.teamviewerhostSilentInstaller</string>
</dict>
<dict>
<key>attributeSetting</key>
<true/>
<key>choiceAttribute</key>
<string>enabled</string>
<key>choiceIdentifier</key>
<string>com.teamviewer.teamviewerhostSilentInstaller</string>
</dict>
<dict>
<key>attributeSetting</key>
<integer>1</integer>
<key>choiceAttribute</key>
<string>selected</string>
<key>choiceIdentifier</key>
<string>com.teamviewer.teamviewerhostSilentInstaller</string>
</dict>
</array>
</plist>
Apply the configuration during the installation by adding the parameter "-applyChoiceChangesXML <your_filename>.xml"
sudo installer -applyChoiceChangesXML choices.xml -pkg "TeamViewer_Host-idc<ConfigurationID>.pkg" -target /
3) If you have an MDM system, you can use Privacy Preferences Policy Control (PPPC) payloads to roll out Accessibility and Full Disk Access for TeamViewer in System Preferences ➜ Security & Privacy ➜ Privacy. Your users will still need to grant Screen Recording access themselves. Starting with macOS 11 Big Sur, you will need to use a ScreenCapture PPPC payload with AllowStandardUserToSetSystemService to allow non-admin users to grant this permission.
An example for an MDM configuration using Mobile Iron to roll out Accessibility access can be found here:
📄 MobileIron Integration - Add TeamViewer apps to macOS Mojave accessibility
Install the standard version of TeamViewer
Required installer:
- TeamViewer_Full.pkg: Download the file in the TeamViewer (Classic) Management Console under "Design & Deploy" by clicking "Download installer" and choosing "PKG (Host & Full Client for macOS)".
- Unzip the PKG.
Steps:
- Open the terminal or execute pkg via a script.
- Type the following command into the terminal
sudo installer -pkg "TeamViewer_Full.pkg" -target /
The parameter -target defines the path where you want your installation to be located.
🚨 Settings cannot be provided during the installation process on macOS.
Install the standard version of TeamViewer silently
Required installer:
- TeamViewer_Full.pkg: Download the file in the TeamViewer (Classic) Management Console under "Design & Deploy" by clicking "Download installer" and choosing "PKG (Host & Full Client for macOS)".
- Unzip the PKG.
Steps:
1) Create an XML file called (e.g.: choices.xml) and enter the following content:
<?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">
<array>
<dict>
<key>attributeSetting</key>
<integer>1</integer>
<key>choiceAttribute</key>
<string>selected</string>
<key>choiceIdentifier</key>
<string>com.teamviewer.teamviewerSilentInstaller</string>
</dict>
</array>
</plist>
2) (Optional) verify if your configuration will be applied correctly
- Execute the following command:
installer -showChoicesAfterApplyingChangesXML newChoices.xml -pkg Install\ TeamViewer_Full.pkg -target /
- This will result in an output that should look similar to this:
<?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">
<array>
<dict> ... </dict>
<dict> ... </dict>
<dict>
<key>attributeSetting</key>
<false/>
<key>choiceAttribute</key>
<string>visible</string>
<key>choiceIdentifier</key>
<string>com.teamviewer.teamviewerSilentInstaller</string>
</dict>
<dict>
<key>attributeSetting</key>
<true/>
<key>choiceAttribute</key>
<string>enabled</string>
<key>choiceIdentifier</key>
<string>com.teamviewer.teamviewerSilentInstaller</string>
</dict>
<dict>
<key>attributeSetting</key>
<integer>1</integer>
<key>choiceAttribute</key>
<string>selected</string>
<key>choiceIdentifier</key>
<string>com.teamviewer.teamviewerSilentInstaller</string>
</dict>
</array>
</plist>
Apply the configuration during the installation by adding the parameter "-applyChoiceChangesXML <your_filename>.xml"
sudo installer -applyChoiceChangesXML choices.xml -pkg Install\ TeamViewer_Full.pkg -target /
3) If you have an MDM system, you can use Privacy Preferences Policy Control (PPPC) payloads to roll out Accessibility and Full Disk Access for TeamViewer in System Preferences ➜ Security & Privacy ➜ Privacy. Your users will still need to grant Screen Recording access themselves. Starting with macOS 11 Big Sur, you will need to use a ScreenCapture PPPC payload with AllowStandardUserToSetSystemService to allow non-admin users to grant this permission.
An example for an MDM configuration using Mobile Iron to roll out Accessibility access can be found here:
📄 MobileIron Integration - Add TeamViewer apps to macOS Mojave accessibility
Update a TeamViewer installation
Updating TeamViewer corresponds to the steps that are required for an installation:
- Install the Standard Host Client Version of Teamviewer
- Install the Customized Host Client Version of Teamviewer
- Install the Standard Full Client Version of TeamViewer
Uninstall TeamViewer
A reason to uninstall your TeamViewer might be that you want to switch from a TeamViewer Host Client Version to a Full Client Version.
📌Note: You can uninstall your TeamViewer only manually
Recommended way to uninstall TeamViewer:
- Start the TeamViewer application.
- Open TeamViewer ➜ Preferences ➜ Advanced.
- Scroll down till Uninstall.
- (Optional) check the box for Delete configuration files.
- Click Uninstall.
- Click OK when asked for confirmation.
TeamViewer has been uninstalled.
Perform an assignment
Prerequisites:
- TeamViewer is already installed.
- The option Start with system is enabled.
- TeamViewer service is running!
- The assignment tool together with the application is installed under
- /Applications/TeamViewerHost.app/Contents/Helpers/TeamViewer_Assignment
- (/Applications/TeamViewer.app/Contents/Helpers/TeamViewer_Assignment).
Steps:
- Run the assignment tool with sudo privileges on all devices that should be assigned. In order to do this in a mass deployment scenario, we advice you to use a script to call the assignment tool with the required parameters.
Host version:
sudo /Applications/TeamViewerHost.app/Contents/Helpers/TeamViewer_Assignment -api-token <YOUR_APITOKEN> -group <GROUP> -alias <COMPUTERNAME> -grant-easy-access
Full version:
sudo /Applications/TeamViewer.app/Contents/Helpers/TeamViewer_Assignment -api-token <YOUR_APITOKEN>
- The device is assigned to the account that created the Custom TeamViewer Host module.
- Easy Access is (optionally) activated for the device.
Assignment options
The following table shows the possible assignment options (they are all optional).
There are some parameters that need a value (–alias MyAlias) or do not need a value (–reassign).
The options need to be added on the command line.
- If you have parameter values with blanks (e.g. for the group name) use "<GROUP_NAME_WITH_BLANK>".
- sudo /Applications/TeamViewer.app/Contents/Helpers/TeamViewer_Assignment -api-token <YOUR_APITOKEN> -group "My Group" -alias "$ALIAS"
- Parameter names are case sensitive
- Proxy settings can be specified for the assignment within the ASSIGNMENTOPTIONS. There are additional proxy settings for the TeamViewer connection itself (as defined in the TeamViewer client options). These have to be set outside of the ASSIGNMENTOPTIONS.
- You can also insert environment variables to your commands for installation/assignment to add dynamic values, e.g. for the alias. You can use environment variables by using $-notation. The following characters should not be contained in the variable values: $, @, `, ´ and variables should always be used within quotes.
- Example:
- export GROUP="MyGroup"
- export ALIAS="MyDevicename"
- sudo /Applications/TeamViewer.app/Contents/Helpers/TeamViewer_Assignment -api-token <YOUR_APITOKEN> -group "$GROUP" -alias "$ALIAS"
- Example: