To remote control the Zebra device without any interaction with the end-user (unattended access), the Eventinjection Service must be configured, and the TeamViewer apps need to have access to the Eventinjection Service. This configuration is handled over an XML-File.
This documentation will explain how to enable the Host app to remote control your Zebra device.
This article applies to licensed users who have MDS (Mobile Device Support).
This document assumes the following items are already in place:
📌Note: You can check which MX version your device has via this link:
You have plenty of ways to push your XML file on your devices. You can push it:
If your MDM/EMM supports Zebra XML config deployment, all you need to do is push the XML through your MDM/EMM portal.
<wap-provisioningdoc> <characteristic version="10.0" type="AccessMgr"> <parm name="OperationMode" value="1" /> <parm name="ServiceAccessAction" value="1" /> <parm name="ServiceIdentifier" value="com.zebra.eventinjectionservice" /> </characteristic> <characteristic version="10.0" type="AccessMgr"> <parm name="OperationMode" value="1" /> <parm name="ServiceAccessAction" value="4" /> <parm name="ServiceIdentifier" value="com.zebra.eventinjectionservice" /> <parm name="CallerPackageName" value="com.teamviewer.host.market" /> <parm name="CallerSignature" value="MIIDmjCCAoKgAwIBAgIETMAbjTANBgkqhkiG9w0BAQUFADCBjTELMAkGA1UEBhMCREUxGzAZBgNVBAgTEkJhZGVuIFd1ZXJ0dGVtYmVyZzETMBEGA1UEBxMKR29lcHBpbmdlbjEYMBYGA1UEChMPVGVhbVZpZXdlciBHbWJIMRgwFgYDVQQLEw9UZWFtVmlld2VyIEdtYkgxGDAWBgNVBAMTD1RlYW1WaWV3ZXIgR21iSDAgFw0xMDEwMjExMDUzMDFaGA8yMDUxMTExNTEwNTMwMVowgY0xCzAJBgNVBAYTAkRFMRswGQYDVQQIExJCYWRlbiBXdWVydHRlbWJlcmcxEzARBgNVBAcTCkdvZXBwaW5nZW4xGDAWBgNVBAoTD1RlYW1WaWV3ZXIgR21iSDEYMBYGA1UECxMPVGVhbVZpZXdlciBHbWJIMRgwFgYDVQQDEw9UZWFtVmlld2VyIEdtYkgwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDWiS0FVkYhfPqp4exJUvuRmxJ1c+ofWVP7G8WUlw4FAg/81B1tGkUi11ezsJXwqkeH9v3bJRBTq1ibt/HWNXU25ubwQCX9w9ukD/VH4f1zi5vaeFy4u+xbUf59wDPrTQuOL8P5omE9p4INTI434Y8qEGU9152EOflQcLCkgqP8+NrpxKK4BUL864tC/QeO5TIj1fqJYrrUDkZCkmdI7xLnU72lX3wtOdntTNU55JAp7S8MOfCSWqWURyMtXZjvXH1Pcz0/Z9nrVqxy0H5V4olaLhtt6jN/iV75Zau0IDPzpkqtd6vJ9VfWkU5S7tm2DTuMn2byLh3nbqsM9iAlJZ91AgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAJVK2jvHKBAYnqY64U2isMjj45Ksh5cDc52z7paSVjvXFgs1HGk6JamrfroxP0dp5adB5BtWmq+ogdpSeGQcIDz3Y0dlYa7lCfswMgrUXzvzJJ6eujSC8WGgRWxTheW5TBB8kl1xPemypKNWYUSopAEFlftW2L4fQfcNBwM+sX2QJpRohSxWhdI2Qv0OQ1fawNoL2ImDYpUeHAsUtb8VLewF+PSFGCGRR28LjItzoOK7AfbMpDE1VDnM8V+b8uoK4TbC3Q4EDBs6gdII68gaQPzg9wRMawhwNAPpugnZsacEKTks32VwM01ECZk/taKx8hyADZvg5DWHQoSjVNhm1S8=" /> </characteristic> <characteristic version="10.0" type="AccessMgr"> <parm name="ServiceAccessAction" value="1" /> <parm name="ServiceIdentifier" value="com.zebra.remotedisplayservice" /> </characteristic> <characteristic version="10.0" type="AccessMgr"> <parm name="ServiceAccessAction" value="4" /> <parm name="ServiceIdentifier" value="com.zebra.remotedisplayservice" /> <parm name="CallerPackageName" value="com.teamviewer.host.market" /> <parm name="CallerSignature" value="MIIDmjCCAoKgAwIBAgIETMAbjTANBgkqhkiG9w0BAQUFADCBjTELMAkGA1UEBhMCREUxGzAZBgNVBAgTEkJhZGVuIFd1ZXJ0dGVtYmVyZzETMBEGA1UEBxMKR29lcHBpbmdlbjEYMBYGA1UEChMPVGVhbVZpZXdlciBHbWJIMRgwFgYDVQQLEw9UZWFtVmlld2VyIEdtYkgxGDAWBgNVBAMTD1RlYW1WaWV3ZXIgR21iSDAgFw0xMDEwMjExMDUzMDFaGA8yMDUxMTExNTEwNTMwMVowgY0xCzAJBgNVBAYTAkRFMRswGQYDVQQIExJCYWRlbiBXdWVydHRlbWJlcmcxEzARBgNVBAcTCkdvZXBwaW5nZW4xGDAWBgNVBAoTD1RlYW1WaWV3ZXIgR21iSDEYMBYGA1UECxMPVGVhbVZpZXdlciBHbWJIMRgwFgYDVQQDEw9UZWFtVmlld2VyIEdtYkgwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDWiS0FVkYhfPqp4exJUvuRmxJ1c+ofWVP7G8WUlw4FAg/81B1tGkUi11ezsJXwqkeH9v3bJRBTq1ibt/HWNXU25ubwQCX9w9ukD/VH4f1zi5vaeFy4u+xbUf59wDPrTQuOL8P5omE9p4INTI434Y8qEGU9152EOflQcLCkgqP8+NrpxKK4BUL864tC/QeO5TIj1fqJYrrUDkZCkmdI7xLnU72lX3wtOdntTNU55JAp7S8MOfCSWqWURyMtXZjvXH1Pcz0/Z9nrVqxy0H5V4olaLhtt6jN/iV75Zau0IDPzpkqtd6vJ9VfWkU5S7tm2DTuMn2byLh3nbqsM9iAlJZ91AgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAJVK2jvHKBAYnqY64U2isMjj45Ksh5cDc52z7paSVjvXFgs1HGk6JamrfroxP0dp5adB5BtWmq+ogdpSeGQcIDz3Y0dlYa7lCfswMgrUXzvzJJ6eujSC8WGgRWxTheW5TBB8kl1xPemypKNWYUSopAEFlftW2L4fQfcNBwM+sX2QJpRohSxWhdI2Qv0OQ1fawNoL2ImDYpUeHAsUtb8VLewF+PSFGCGRR28LjItzoOK7AfbMpDE1VDnM8V+b8uoK4TbC3Q4EDBs6gdII68gaQPzg9wRMawhwNAPpugnZsacEKTks32VwM01ECZk/taKx8hyADZvg5DWHQoSjVNhm1S8=" /> </wap-provisioningdoc>
If your MDM/EMM supports OEMConfig, you can create a profile with the config parameters below, then assign it to your device from the MDM/EMM portal. These parameters are the same for all of MDMs/EMMs which we integrate with, even though the access UI to the OEMConfig setup is different for each MDM/EMM.
OEMConfig parameters setup:
1. Allow Remote Control
MIIDmjCCAoKgAwIBAgIETMAbjTANBgkqhkiG9w0BAQUFADCBjTELMAkGA1UEBhMCREUxGzAZBgNVBAgTEkJhZGVuIFd1ZXJ0dGVtYmVyZzETMBEGA1UEBxMKR29lcHBpbmdlbjEYMBYGA1UEChMPVGVhbVZpZXdlciBHbWJIMRgwFgYDVQQLEw9UZWFtVmlld2VyIEdtYkgxGDAWBgNVBAMTD1RlYW1WaWV3ZXIgR21iSDAgFw0xMDEwMjExMDUzMDFaGA8yMDUxMTExNTEwNTMwMVowgY0xCzAJBgNVBAYTAkRFMRswGQYDVQQIExJCYWRlbiBXdWVydHRlbWJlcmcxEzARBgNVBAcTCkdvZXBwaW5nZW4xGDAWBgNVBAoTD1RlYW1WaWV3ZXIgR21iSDEYMBYGA1UECxMPVGVhbVZpZXdlciBHbWJIMRgwFgYDVQQDEw9UZWFtVmlld2VyIEdtYkgwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDWiS0FVkYhfPqp4exJUvuRmxJ1c+ofWVP7G8WUlw4FAg/81B1tGkUi11ezsJXwqkeH9v3bJRBTq1ibt/HWNXU25ubwQCX9w9ukD/VH4f1zi5vaeFy4u+xbUf59wDPrTQuOL8P5omE9p4INTI434Y8qEGU9152EOflQcLCkgqP8+NrpxKK4BUL864tC/QeO5TIj1fqJYrrUDkZCkmdI7xLnU72lX3wtOdntTNU55JAp7S8MOfCSWqWURyMtXZjvXH1Pcz0/Z9nrVqxy0H5V4olaLhtt6jN/iV75Zau0IDPzpkqtd6vJ9VfWkU5S7tm2DTuMn2byLh3nbqsM9iAlJZ91AgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAJVK2jvHKBAYnqY64U2isMjj45Ksh5cDc52z7paSVjvXFgs1HGk6JamrfroxP0dp5adB5BtWmq+ogdpSeGQcIDz3Y0dlYa7lCfswMgrUXzvzJJ6eujSC8WGgRWxTheW5TBB8kl1xPemypKNWYUSopAEFlftW2L4fQfcNBwM+sX2QJpRohSxWhdI2Qv0OQ1fawNoL2ImDYpUeHAsUtb8VLewF+PSFGCGRR28LjItzoOK7AfbMpDE1VDnM8V+b8uoK4TbC3Q4EDBs6gdII68gaQPzg9wRMawhwNAPpugnZsacEKTks32VwM01ECZk/taKx8hyADZvg5DWHQoSjVNhm1S8=
2. Allow Unattended Access
a) Add Transaction Step:
b) Apply settings:
MIIDmjCCAoKgAwIBAgIETMAbjTANBgkqhkiG9w0BAQUFADCBjTELMAkGA1UEBhMCREUxGzAZBgNVBAgTEkJhZGVuIFd1ZXJ0dGVtYmVyZzETMBEGA1UEBxMKR29lcHBpbmdlbjEYMBYGA1UEChMPVGVhbVZpZXdlciBHbWJIMRgwFgYDVQQLEw9UZWFtVmlld2VyIEdtYkgxGDAWBgNVBAMTD1RlYW1WaWV3ZXIgR21iSDAgFw0xMDEwMjExMDUzMDFaGA8yMDUxMTExNTEwNTMwMVowgY0xCzAJBgNVBAYTAkRFMRswGQYDVQQIExJCYWRlbiBXdWVydHRlbWJlcmcxEzARBgNVBAcTCkdvZXBwaW5nZW4xGDAWBgNVBAoTD1RlYW1WaWV3ZXIgR21iSDEYMBYGA1UECxMPVGVhbVZpZXdlciBHbWJIMRgwFgYDVQQDEw9UZWFtVmlld2VyIEdtYkgwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDWiS0FVkYhfPqp4exJUvuRmxJ1c+ofWVP7G8WUlw4FAg/81B1tGkUi11ezsJXwqkeH9v3bJRBTq1ibt/HWNXU25ubwQCX9w9ukD/VH4f1zi5vaeFy4u+xbUf59wDPrTQuOL8P5omE9p4INTI434Y8qEGU9152EOflQcLCkgqP8+NrpxKK4BUL864tC/QeO5TIj1fqJYrrUDkZCkmdI7xLnU72lX3wtOdntTNU55JAp7S8MOfCSWqWURyMtXZjvXH1Pcz0/Z9nrVqxy0H5V4olaLhtt6jN/iV75Zau0IDPzpkqtd6vJ9VfWkU5S7tm2DTuMn2byLh3nbqsM9iAlJZ91AgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAJVK2jvHKBAYnqY64U2isMjj45Ksh5cDc52z7paSVjvXFgs1HGk6JamrfroxP0dp5adB5BtWmq+ogdpSeGQcIDz3Y0dlYa7lCfswMgrUXzvzJJ6eujSC8WGgRWxTheW5TBB8kl1xPemypKNWYUSopAEFlftW2L4fQfcNBwM+sX2QJpRohSxWhdI2Qv0OQ1fawNoL2ImDYpUeHAsUtb8VLewF+PSFGCGRR28LjItzoOK7AfbMpDE1VDnM8V+b8uoK4TbC3Q4EDBs6gdII68gaQPzg9wRMawhwNAPpugnZsacEKTks32VwM01ECZk/taKx8hyADZvg5DWHQoSjVNhm1S8=
You must prepare this master device by creating a staging profile via StageNow. Once the settings on the master device are done, you need to export it so that you can deploy it on your device. You will obtain an XML file which you can choose your preferred method to push your XML Config to your devices:
Once this is done, you will be able to remote control your Zebra device.
To allow an app to call the Event Injection service, we need to specify the Signature of that app. When using the StageNow Tool, a .crt
file has to be specified from which the caller's signature will be included. Please use the attached file: TeamViewer AppSignature.crt
We also provide a working example of bar codes the Host App for the sake of simplification.