In case the application is running on the same system where the pad is connected, we can access the signature pad by USB. But in case the application can´t have a direct access to the USB device, which is the case by RemoteDesktop and Citrix, we are forwarding all device requests to our Client Component. This Component will execute the requests and will send the results back to the server application.
We designed the remote component/layer in the way, that the main application don´t need to be modified in case the signature device is not local connected. Therefor we are tunnelling our device-communication between our SOPAD.dll (High Level Pad Comunication) and the SOPADCOM.dll (USB-Level), which means we are replacing the normal SOPADCOM.dll on the server with mediator version. This version takes care that the signature pad request will be forwarded to the client (by TCP or Citrix), where the local SOPADCOM.dll will perform the request.
Which Type of communication is used dependents by the DLL Version which is used from the Application. This means you need already to decide by the installation which communication type you want to use.
Because the Communication is controlled / initialize by the Server it means the remote components needs to know where the client system is. For TCP it means the server needs the client-IP and Port, these information needs to be configured inside the
You need to replace the IP address (0.0.0.0) with the one of the client. Additional to the IP and the port there are settings for logging, but this should only be enabled in case of a problem.
There are 2 ways to use the
config.ini, in case you place it into the same folder where the executable file of the application is, all users which are using the application will use the same TCP Settings. In case one of our products is being used, you need to place the INI in the installations folders next to the executable files (SOSigOffice.exe, SimpleSigner.exe). In case you used the DeviceAPI with your own Software you need to place the INI in the Folder of your own executable file.
In case of an Multi-User System you should use the second option and place the config.ini into the user folder (C:\Users\<USER>\AppData\Roaming\StepOver\TCPIpExtension), on that way every user can have different TCP-Settings for the same Application.
You need to create this Config.ini by your own (create a textfile with the values above and save it under the name config.ini) or you can use the RDP-IPConfig tool. The Setup is not creating the config.ini.
Because the Client-IP can be dynamic we created a small tool which can be used to set / update the
config.ini. The tool will check the network status for open RDP Sessions to identify the Client-IP and will write it into the user folder. This means the tool works only when the TCP Session is active, for example you can start it automatically with the login (see details here) of the user (or run it manually). This tool is optional and not required for the TCP Solution.
|To set a different save path of the config.ini|
|config.ini which should be used as Basic (it will be copied to AppData)|
|-useExternalIP||try to read the external IP|
Problems / Errors
In case the Server can´t find the Configuration file (config.ini) or establish the connection to the client. It will show the following message.
- missing config.ini, please check if the file exist and has the correct Client values
- blocking firewall, wrong Client-IP or other network issues. To figure out where the problem is you can use telnet service from the server side to check if you can connect to the TCP-Client.
In case the Client is not activated there will an Demo Message each time when you start a signature.
Access Violation of BEX or APPCRASH occurrs on Windows Server 2008 R2 with Terminal Service.
- Right click on my computer
- go to properties
- click on advanced system settings
- under performance, click settings
- click the Data Execution Prevention tab, and then click Turn on DEP for all programs and services except those I select.
- click Add, browse to the executable file for the program and add it.