Scan2Deploy Studio can be used to stage Datalogic Mobile Computers running Android 8 and above. It is installable on 64-bit Windows 7/8/10 PCs.
- configure the device Wi-Fi network,
- control some device inner system settings (e.g. the lock-screen enabled state),
- download a data archive from a HTTP/HTTPS server and unpack it to the device,
- install/update applications and the system image, and
- run a script (to perform any additional setup).
This document reflects the features and settings available in Scan2Deploy Studio 1.5.
Downloads are available in the Releases section on the Scan2Deploy Studio Github page.
Scan2Deploy Studio requires Scan2Deploy Android agent version 1.11 or higher running on the Android device. All Datalogic devices running Android 9 and above should already have this version. For Android 8 devices, this version can be installed directly from the "Hi There!" setup screen as described here.
For more detail regarding what versions of Scan2Deploy Android agent support what associated Scan2Deploy Studio features, see the full list of Scan2Deploy Android releases.
- Copy the installer file to any convenient location on your PC.
- Launch the installer.
- If User Access Control (UAC) is enabled on your computer, authorize the installer to run. (UAC is enabled by default on all supported Windows operating systems, but it can be disabled by default. If you do not see this prompt, UAC may have been disabled.)
- Follow on-screen prompts to finish installing.
When Scan2Deploy Studio is closed, it doesn't stop running. It continues running in the background, and displays a task tray icon on the far right side of the Windows taskbar, near the clock.
Right-clicking on the Scan2Deploy Studio icon in the task tray will result in a menu being displayed.
This gives you the option to
Exit Scan2Deploy Studio or set
If you choose
Exit, all processes related to Scan2Deploy Studio immediately stop.
Carefully consider whether or not you want to completely stop Scan2Deploy Studio, particularly if you are relying on Scan2Deploy Studio to serve profiles for mobile devices
Currently there is only one setting available.
Run at startup- If checked (default), Scan2Deploy Studio will start after booting into Windows. If unchecked, it will not do so.
The first page displayed when you open Scan2Deploy Studio is the
Welcome page. Choose one of the following options from the Welcome page.
- Create - to create a new Scan2Deploy profile.
- Edit - to edit the existing Scan2Deploy profile (.tar file).
Either way, the next page you end up on will be the Action Selection page.
A table of recent profiles appears below the
Edit buttons once you have saved at least one profile. Each row in the table includes the ability to edit, delete, and make a copy of a given profile, as well as display the QR code.
Action Selection Page
This page allows to user to add or remove various actions to the current profile, which fall under 2 categories,
Deployment Actions and
Firmware Actions, represented by two different radio boxes. By default,
Deployment Actions radio box is selected with
Wi-Fi action already selected.
firmware profiles are much more limited as they are focused solely on updating device firmware.
|Action||Description||Device Specific||Host required|
|Wi-Fi Setup||Configure Wi-Fi network connection settings||✓|
|Applications||Enable/disable device applications||✓|
|Scanner Settings||Configure scanner settings and parameters||✓|
|Device Settings||Set Datalogic device settings||✓|
|Add Scripts||Configure script commands to apply to the device|
|File Upload||Upload files with arbitrary file extension||✓|
|Visual Formatter||Setup barcode visual formatting||✓|
|Action||Description||Device Specific||Host required|
|Wi-Fi Setup||Configure Wi-Fi network connection settings||✓|
|Firmware Update||Update device firmware with OTA package||✓||✓|
Three fields allow you to select the specific device you will be deploying to.
- Select Model (e.g. Memor 20, Memor 10 etc.)
- Select SKU (e.g. US, EU, China etc.)
- Select OS Version (Android version)
This page allows users to configure Wi-Fi networks on the device.
Configuring a network
The first network added will always be the
Deployment Network. It is also possible to add any number of
Additional Networks which will not be used during the deployment process.
Each network can have one of the following network encryption modes:
- WPA3-Enterprise 192-bit
WPA3-Enterprise 192-bit networks are only available on certain Datalogic devices running Android 10 and above. These options will only appear if the device selected on the
Action Selection page supports it.
By setting the
Encryption Mode to
WPA3-Enterprise 192-bit, the EAP section is enabled. This section allows you to configure the following types of EAP networks:
The Advanced section offers the ability to set a network proxy to use for the connection as well as various other deployment options. Currently, all Advanced settings apply to all Wi-Fi profile encryption method and EAP method types.
- Proxy Host - Server name or IP address of the proxy to be used for HTTP/HTTPS communications.
- Proxy Port Number - Server IP port of the proxy for HTTP/HTTPS communications.
- Forget network when done (deployment network only) - If checked, the deployment network connection will be used solely during the staging process, and deleted once complete. If left unchecked, the network will still be present after the staging process is done.
- Remove other networks (deployment network only) - If checked, any currently configured wireless networks will be removed. This can be useful in order to avoid profile roaming or to ensure no unauthorized network connections are allowed.
- Reconfigure - When checked, if configuration for the same network is already present on the device, it will be reconfigured. If unchecked, the existing network will be left alone. This setting is unnecessary if
Remove other networksis checked.
- Wait for connection (deployment network only) - If checked, Scan2Deploy agent will wait for the Wi-Fi deployment network connection to be established before proceeding to subsequent device configuration steps.
Adding additional networks
Additional Networks, click the
Add network button.
This tab allows users to enable/disable apps on the device as well as set managed configurations for apps that offer it. The list of applications can be searched by Application name and Package name. It is also possible to filter by app Vendor.
The list of applications that shows up on the
Applications page is dependent upon the selected device type on the Action Selection page.
- This column allows you to specify if an app should be enabled (
+), disabled (
-), or left alone (leave at current/default setting value).
This columns allows you to configure managed configurations for certain apps that support them. For example, you can add URL blacklists and whitelists to Chrome. The list of apps that currently support managed configurations include:
- Google Chrome
- Google Gmail
- Datalogic SoftSpot
- 42 Gears SureFox
- 42 Gears SureLock
This tab allows users to install Android apps (APKs) from the local file system or from a remote URL.
This tab allows users to update Datalogic apps to the latest available versions.
The list of applications that show up on the
Update tab is dependent upon the the selected device type on the Action Selection page.
This page allows users to configure scanner settings and parameters for the device.
This page allows users to set Datalogic device settings, including:
This page allows users to configure script commands to apply to the device.
The commands offered are a subset of the script commands available in the Android schema.
<>Angle brackets indicate required fields
Square brackets indicate optional fields
Enables or disables battery optimization for the given package.
action- Required parameter. Allowed values:
ENABLE- enable battery optimization for the given package. i.e. the app's background processing capability will be diminished for the sake of improved battery life.
DISABLE- the given package will not be limited by the battery optimization feature in any way. Could result in decreased battery life.
package- Package name of the app for which battery optimization should be adjusted.
Broadcasts the intent with the specified intent arguments. Supported extra arguments:
- -e | -es - Add string data as a key-value pair
- -ef - Add float data as a key-value pair
- -ei - Add integer data as a key-value pair
- -el - Add long data as a key-value pair
- -ez - Add boolean data as a key-value pair
Copies a file located on-device from one location to another. If the target-file-path does not exist, it will be automatically created for you, even multiple folders deep if necessary.
source-file-path- the full path to the source file to be copied, starting with
target-file-path- the full path to the destination location where the file should be copied to. Should include the destination file name as well.
overwrite- true or false. if set to true, the copy should overwrite an existing file. if set to false, the copy should not overwrite an existing file.
Recursively deletes files/folders starting from
path, only if the name matches the
pattern regular-expression. If folder
path is empty at the end of the process it will be deleted, as well.
pattern- Optional regular expression to match. Often, this would just be the name of the file to be deleted. Default value:
"^.+$"(i.e. delete all files with names one or more characters long).
include- Optional value. If
true, the matching entries will be deleted. If
includeis false, the non-matching entries will be deleted. Default value:
Inflates the ZIP archive found at
Starts the launching intent given an application
Set a system setting. namespace must be one of: GLOBAL, SECURE, or SYSTEM.
Run an arbitrary adb shell command. This is an experimental feature. Not all shell commands that work at an adb shell prompt will work here. No output that may be provided in the command will be displayed.
adb_shell_command- the adb shell command to run. This could be any command you can run at an adb shell prompt, although the adb shell has different permission levels than Scan2Deploy, so there is no guarantee if the command will run successfully or not.
Android's official documentation for SHELL command can be found here.
Uninstalls a previously installed application given its
Suspend the script execution for
This page allows users to upload files with arbitrary file extensions.
Apply DXU Config
If the file added is a DXU configuration file, it can be selected for application on the device. Build your DXU configuration file using the Datalogic DXU application, along with a connected device of the type you are planning to deploy to (i.e. connect a Memor 10 if that's the device type you plan to configure for in Scan2Deploy Studio). Follow the Save a Configuration File steps as described in the DXU manual.
The Visual Formatter page allows users to create formatting rules to manipulate the barcode data received from the scanner. The user can decide which inputs and outputs to consider and create a connection that goes from the specified inputs towards the outputs, passing through some nodes, each representing a specific operation. This data flow is used to manipulate the input data in order to obtain the desired output.
See the following sections on the next page for a more in-depth explanation of the different components available in the Visual Formatter:
This page allows users to upload an OTA (over-the-air) update file compatible with the selected device.
The OTA file you upload must be compatible with the selected device model and Android version on the Action Selection page. Otherwise, an error will be given, preventing you from using the incorrect OTA file
Firmware images are available for download at developer.datalogic.com.
Save and Print
This final page allows users to save the profile (
.tar file) and preview and save the generated barcodes (
Name and Save
A name for your profile is required and will determine the file name of the profile when it is saved to disk.
The Description field allows you to enter some notes about the profile for future reference. It will be displayed on the printed barcode PDF as well.
Profile host location
This section appears if your profile requires a Scan2Deploy profile (
.tar file). Use this section to specify how the profile will be transferred to the device.
Check the tables in the Action Selection page section to understand which settings require a profile host location and which do not.
When visible, you must select from the following options:
Regardless of what option you choose, all profiles are saved to disk at
The profile will be hosted directly within Scan2Deploy Studio itself. Scan2Deploy Studio inserts the hosting PC's hostname as well as IP addresses for all connected interfaces to increase the likelihood of a successful profile retrieval by the Android device on the connected network.
Scan2Deploy Studio must be running and reachable by the mobile device. When you close Scan2Deploy, it keeps running in the background. See the task tray section for more detail.
In this use case, you are responsible for knowing ahead of time where the profile will be hosted. The barcode created will point to the Custom deployment server location specified.
Additional hosting options
These options allow you to locate the profile on the device, avoiding having to download the profile. Some likely use cases are that an EMM was used to push the tar file to the device and then apply it using the service intent, or deployment without use of Wi-Fi is required.
The options are:
Device storage- the internal flash storage of the device.
SD card- physical micro SD card. This option only appears in Scan2Deploy Studio if the device you selected on the Action Selection page has an SD card slot.
USB storage device- a USB hard drive or flash drive attached to the device with an on-the-go USB cable.
Each option requires a
Path. For each option,
Pathis defined as below.
- Device storage - the absolute path to the deployment package on the device. Example: /sdcard/Download/s2d/profile.tar
- SD card - path to the deployment package relative to the root of the removable storage device. Example: /s2d/profile.tar
- USB storage device - path to the deployment package relative to the root of the removable storage device. Example: /s2d/profile.tar
A few specialized fields are available here:
- Action - Determines the last action Scan2Deploy should take before finishing profile processing. Values are
reset. The default value is
intentis selected, you will be expected to provide an intent URI that should be sent.
- Intent - The intent that should be sent. Only applicable if the action field is set to
- Launcher type - The type of launcher that should be used as the default launcher. Selecting
Google Launcher Appwill use the standard, default launcher. Selecting
SureLockwill set SureLock as the default launcher. Selecting
Custom Appwill require you to enter the name of a package in the Package name field. Selecting
No Defaultwill clear any previously selected default launcher. Selecting
Select typewill make no change to the device.
- Package name - Package name of an APK that is or will be installed on the device that should serve as the device's Home/Launcher app. Not just any application can be used as a launcher app. It has to meet certain requirements specified by Google to be set as the launcher app.
- Hide from launcher - Caution if checked, Scan2Deploy will become hidden after the barcode read and the profile is processed fully.
- Valid until - Set a date on which the barcode will be invalidated.
- Install latest OEMConfig - (Recommended) If checked, Scan2Deploy will include the latest version of OEMConfig in the profile and it will be automatically installed when the profile is applied to a device. If unchecked, the OEMConfig app will not be included in the profile.
The Datalogic OEMConfig application must be installed on the device to apply settings from the Scanner Settings and Device Settings pages. Scan2Deploy Agent may not report settings that fail to apply if OEMConfig is either not installed or if the version that is installed doesn't support the latest settings.
Deployment QR Codes
Barcode displayed when Scan2Deploy Studio hosts the profile:
Barcode displayed when an external server hosts the profile:
This button allows you to download a PDF document that contains the full set of barcodes generated.
This option allows you to copy the underlying data contained in the barcode(s). It is useful for making manual edits to the JSON file, as well as passing the data to the Scan2Deploy app via the start service and start activity intents. Three options are provided:
Copy JSON data - copy unencrypted data suitable for pasting into a file. Includes newlines and proper spacing. This could be useful if you want to hand-edit the file and re-import it into Scan2Deploy Studio later.
Copy encrypted data - primary use case is also to pass to Scan2Deploy via the start service and start activity intents. Unless you intend on making adjustments to the JSON, this is recommended way of passing data via intent since it is encrypted.
The Copy data button is also available as part of the Show QR action view of a given profile on the Welcome page.
Right click on barcodes and select Copy Image to copy the barcode image itself. It can then be pasted into the application of your choice.
Typically, the next step is to open the Scan2Deploy app on your device and scan the barcodes provided by Scan2Deploy Studio.
Older versions of device firmware require enabling Scan2Deploy first. See the Enable Scan2Deploy section on the Scan2Deploy Android page for more information.
Alternatively, Scan2Deploy configuration data can be passed into the Scan2Deploy app directly from other Android applications. For instance an MDM agent installed on the device could directly pass barcode data to Scan2Deploy agent, eliminating the need for a barcode to be physically scanned. The following steps are necessary to achieve this.
Start Service intent
Scan2Deploy offers a service that listens for requests to apply Scan2Deploy profiles without the Scan2Deploy UI (activity) being visible. The profile will be applied silently, without any Scan2Deploy UI being displayed in the foreground.
- Broadcast action:
- Broadcast receiver:
|enum||no||v2||Indicates how the |
|string||yes||null||The data that Scan2Deploy should process that would normally be received in a barcode.|
These examples demonstrate passing properly escaped json data in
data extra. The
encoding extra must be set to
json in this case.
Start activity intent
Alternatively, you can start the Scan2Deploy activity if you want the Scan2Deploy UI to be visible. The same intent extras can be used in this case (
data). These examples demonstrate passing in
v2 barcode data exported by Scan2Deploy Studio in the
data extra. Since
v2 is the default, no
encoding parameter is required.
You can utilize an MDM console to start the
Scan2Deploy activity or service with the desired
data intent extra. However, that process will differ significantly from one MDM to the next and is outside the scope of what can be documented here.