Devices Client Installer
Devices Client Installer Overview
What is Devices Client?
Devices Client (DC) allows interaction between the local Point-of-Sale (POS) and the credit card device. A ReST API is provided through an encrypted communication layer and restricted to the local host. The POS must be running on the same host as Devices Client is, and the swiper device must be connected via USB to that same host. Devices Client is intended to run on 8.x, 10, and 11 operating systems. Theoretically it can also operate on Mac and Linux, although its operation has not been vetted.
In other words, Devices Client allows POS systems to talk to a credit card device. Given that POS and DC are running on the same computer (host) and there is a swiper plugged into an USB port.
Supported devices for Devices Client
How to Install Devices Client
For Windows environments (8.x, 10, and 11) you first need to download the Devices Client (DC) installer. This will install the required drivers for the selected device. For Mac and Linux environments you do NOT need to download the installer. You can download Devices Client directly.
Windows Installer: EXE versus JAR
The installer is available in two forms: A Java jar file (DC-Installer.jar.txt), and a Windows run-time executable (DC-Installer.exe).
The jar installer file name is appended with the '.txt' extension to ensure that filters prohibiting jar file downloads will not interfere with obtaining the installer.
In general, the .EXE is oriented for end-users to prepare their local machine for running DC, while the .JAR file can be more useful in remote (unattended) installations. The .EXE application 'wraps' the jar file in a Windows run-time executable and uses a Windows manifest to auto-elevate the user's privileges to administrator before launching the jar installer. If the user account cannot auto-elevate to administrator level, Windows will prompt the user for administrator credentials using a dialog box before launching the jar installer. The jar installer does not create UI components it is more appropriate for remote installations.
Features | EXE | JAR |
---|---|---|
Typical User: | End User | Admin |
Auto Updates: | Yes | Yes |
Installer Options: | Yes | Yes |
Java Options: | No | Yes |
Installer Operation
The installer can be invoked in a command window which has been opened as Administrator. Installer features mentioned below are documented on the help page, as well as other useful information. Using the -help
option will display a
help page showing available options. Of particular interest in remote installations would be the two Java options, and the -noprompts
installer option.
When using the -noprompts
command line option and fail to specify a [DEVICE-ID]
, installation will fail. Otherwise Windows will display a Device Selection prompt.
During installation, the site https://dci.egov.com will be accessed (unless the source environment installer option is used). Routing and port availability need to be set up to allow this connection. Please note this same site will be used by the Devices Client for automatic updates so routing and firewall availability
for this site (on port 443) needs to persist indefinitely. The final step of the installation is to run the Devices Client. This assures that Java itself is configured correctly to start JNLP applications. All output during installation will be sent
to STDOUT
and should be captured in case of an error. An exit code will be returned at installer termination. The script used to invoke the installer can use this exit code to determine the proper course of action.
The difference is that the'Jar' can take advantage of Java command line options AND installer options. While the 'Exe' CANNOT use Java options. For an in-depth explanation of the command line Installer and Java options go to the Installer Command Line Walkthrough.
Firewall Rules
During installation, the installer will send test requests to verify that communication with necessary services is successful. If Devices Client Installer or Device Management is not available the installation process will fail.
-
Production:
- Devices Client Installer:
https://dci.egov.com
- Device Management:
https://device-management.egov.com
- Order Api (optional):
https://nic-core-services.cdc.nicusa.com
- Devices Client Installer:
-
UAT:
- Devices Client Installer:
https://dci-uat.egov.com
- Device Management:
https://device-management-uat.egov.com
- Order Api (optional):
https://nic-core-services-uat.cdc.nicusa.com
- Devices Client Installer:
Startup Delay
Users have the option to delay Devices Client when Windows starts up. This can be helpful if Devices Client is having problems connecting to the network. This allows the network to be connected to before Devices Client even tries to start.
- Open Windows Explorer
- Go to the
C:\\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
- Right-click the Card Swiper Services and select propeties
-
In the Target input field change the startDelay variable
Time is in milliseconds (15000 milliseconds = 15 seconds). Only numbers are allowed in this field. So no formatting 15000 to 15,000.
Devices Client Operation
-
Starting
Java Network Launch Protocol (JNLP) is used to start Devices Client. Before starting the application, JNLP will verify that the application is the most current available. If not, it will retrieve updated components from the Devices Client site, specified above. Once all files are updated, JNLP then starts Devices Client. The JNLP process applies all available updates automatically. Devices Client will be updated with additional clients, capabilities, and fixes as required. Because JNLP applications all run within the scope of the current user and each user has their own copy of the application (the user does not need administrative privileges), it is normal to see multiple update occurrences on machines which have multiple users.
-
Running
Devices Client, set up using default options, will automatically launch the application when a user logs into the desktop. An icon in the system tray titled 'NIC Swiper Services' can be found when the application is running. Windows' default system tray is in the bottom right and Mac's is located at the top right. Right-clicking the tray icon allows the user to view specifics about the components of the running Devices Client and the connected device. It also allows the user to terminate the Devices Client application or manually check for software updates.
-
Java Updates
Java 8 is now required and Java 7 is no longer supported. Java 11 is the next LTS Java version and is on the roadmap. Normal Java updates (within the 8 family) should not have any negative impact on the Devices Client installation. Startup icons and scripts defer to the current Java and do not reference a specific JRE or JDK location.