# Licensing¶

OPILE is licensed through the possession of a valid dongle (sometimes known as a hardware key). When OPILE is run it will require regular access to the dongle, either by it being plugged directly into the machine or via a network. When being used in the unrestricted mode OPILE periodically accesses the dongle to make sure it is still present. If the dongle is removed or becomes inaccessible for some reason then the operation of OPILE reverts to DEMO mode.

For further information on the license agreement and restrictions on the use of OPILE you should see the license agreement within the OPILE program directory. If you are in any doubt about the validity of your license or its use then you should contact your supplier using the details given in support.

## Dongle Types¶

There are four different types of dongles and you can find your dongle type based on the colour.

• Bronze: Dinkey PRO standalone dongle

• Green: Dinkey PRO NET network dongle

• Blue: Dinkey 2 standalone dongle or Dinkey 2 NET network dongle (legacy dongle, not used anymore)

• Red: Dinkey 2 NET network dongle (legacy dongle, not used anymore)

The bronze and green Dinkey PRO dongles are the standard type of dongles. These were introduced in OPILE starting from V1.5 and are currently the default type. The blue and red dongles have currently ‘legacy’ status. Clients still using those are recommended to request their replacement dinkey PRO dongles.

## Standalone Dongles¶

The standalone dongle should work by simply plugging it into a USB port and if necessary restarting OPILE. The dongle works driverless therefore no specific drivers need to be installed. The dongle will usually have an expiry date set on it, depending upon the type of license and this can be updated at any time by following the instructions in the dongle updating dongle updating section.

Note, if a single user dongle is plugged into a machine that has been configured to use a network dongle, the single user dongle will always take priority over the network dongle.

Updating your dongle is explained here Dongle Updating.

## Network Dongles¶

The network dongle is a little more complicated than the standalone dongle - but our supplier confidently states they have not yet found a network on which their dongles do not work! Setting up the network dongle involves:

1. On the server side: setting up a dongle server, to which other computers on the network can access. It does not need to be an actual Server, it can be any computer which is connected to the network and can also be a computer from which OPILE is to be used.

2. On the client side: no specific configurations are required.

Note

• If the protected program on the workstation crashes then the network user is terminated. If the workstation itself crashes then it may take the server a little while to terminate that network user. If the workstation is re-booted then the network user is lost immediately.

• All license management and dongle updating for network dongles will need to be carried out on the dongle server and cannot be carried out through the clients!

• if a single user dongle is plugged into a machine that has been configured to use a network dongle, the single user dongle will always take priority over the network dongle.

### Dongle Server Installation & configuration¶

You need to provide the Network Administrator with the Dinkey Dongle Network Server. The dongle network server files can be donwnloaded from the Cathie Associates Website in the Software/OPILE/downloads section (DinkeyPRONET.zip). Alternatively the necessary files can be manually copied from the OPILE installation folder on a client machine. The required files include:

Filename

Version

Size (bytes)

Functionality

Dinkeychange.exe

7.4.0.0

376904

Application to be used to update dongle in future

Dinkeylook.exe

7.4.0.0

397896

Application to view and detect dongles, displays the Dongle Number and Update Number required to generate update codes.

Dinkeyserver.exe

7.4.0.2

754760

To install DinkeyServer simply copy it to a directory on the machine that the Net dongle is attached to. This can be any machine on the network – it does not have to be a network server. To configure DinkeyServer first run it and then select the appropriate options from the configuration dialog:

Choose to run DinkeyServer as an Application or as a Service (daemon under Linux). A Service starts automatically when the machine is booted and does not require a user to be logged in for it to run. Starting DinkeyServer as a Service is the recommended setting for general use. An application requires a user to be logged-on for it to run. This may not always be the case on server machines. You may want to start DinkeyServer as an application if you want to test it.

The Network Configuration section allows you to configure the network settings that DinkeyServer will use. In Automatic mode, DinkeyServer will automatically choose the settings based on the best defaults combined with any existing configuration settings. This is the recommended setting. Custom mode allows you to manually specify the IP address and port that DinkeyServer will listen on.

To start DinkeyServer click the “Start” button. It will then either run as an application and launch the viewer screen or install itself as a service and run in the background. You will need to have Admin Rights to install a service. To allow network access the setup will request whether an automatic Firewall rule can be created. Click the Automatically Configure Windws Firewall button to allow UDP & TCP traffic on the selected IP-address and port.

Under Linux if you want your daemon to automatically start when you boot up then you will need to create an init script to do this. Under Windows if you choose to run DinkeyServer as an application and want to have it start automatically when the user logs in, then you must create a shortcut to DinkeyServer in that user’s ‘Startup’ folder and specify the appropriate command-line parameters to make DinkeyServer start automatically.

### Managing the DinkeyServer¶

#### The DinkeyServer Viewer¶

When DinkeyServer is running as an Application, it will display the DinkeyServer Viewer. This utility displays the status of DinkeyServer, the Product Codes it is serving and the network users currently connected to it. A DinkeyServer icon will appear in the Windows System Tray. You can also open the server’s log file using this utility. The log file records important events during the running of the server and may need to be viewed to diagnose problems. When DinkeyServer is running as a Service, it will not display the viewer because Services cannot display Graphical User Interfaces (GUIs). However, you can still use the DinkeyServer Viewer by running DinkeyServer.exe with the /viewer command-line parameters.

#### Command-Line Parameters¶

DinkeyServer can accept several command-line parameters which control it’s behaviour. These are as follows:

/a                 Configures DinkeyServer to run as an Application.
/q                 Quiet mode. Only displays errors.
/u                 Uninstalls the DinkeyServer Service and terminates the DinkeyServer viewer.
/t                 Stops the DinkeyServer service and terminates the DinkeyServer viewer.
/showconfig        Displays the configuration information (e.g listen address, port). Linux only.
/viewer            Just display the DinkeyServer Viewer.
/logfile           Just open the DinkeyServer logfile.
/port=PORT         Sets the port on which DinkeyServer listens for connections (replace “PORT” with your chosen port number).
/?                 Displays a help window documenting these command-line parameters.


Note

• Like any Service, DinkeyServer can be controlled through Windows Services Management (Control Panel | Administrative Tools | Services).

• If you remove or add a dongle to the machine running DinkeyServer then you need to restart DinkeyServer in order for it to be detected.

• If you have multiple network cards installed on your machine then the protected program may fail to automatically detect DinkeyServer (this can also be caused by virtualisation software, such as VMWare, installing “virtual” network adapters onto your system). In this case try disabling ones that don’t connect to the LAN on which DinkeyServer runs.

• If you update a network dongle using DinkeyChange (e.g. increase the number of network users) while DinkeyServer is running then DinkeyChange will notify DinkeyServer which will instantly update itself. In this case there is no need to restart DinkeyServer. If you reduce the number of network users then DinkeyServer will terminate some clients if the number of current network users exceeds the new limit.

#### Firewalls¶

Failure to correctly configure your firewall(s) could result in DinkeyServer being inaccessible by client machines.

• Your firewall must allow both TCP and UDP traffic through to DinkeyServer.

• Your firewall must allow DinkeyServer to accept incoming connections on the IP Address and Port that you chose when setting up DinkeyServer.

• Clients (your protected software) auto-detect DinkeyServer by performing a multicast to 239.255.219.183 and whichever port you configured DinkeyServer to listen on. Your firewall must not block traffic destined for this address/port.

• Under Windows the listen address and port DinkeyServer is using can be found by choosing Server | Server details from the viewer menu.

Like most server software, DinkeyServer accepts incoming connections by “listening” on a given IP Address and port. If the machine which runs DinkeyServer also runs firewall software (either the Windows Firewall or a third party firewall) then the firewall software will need to be explicitly told to allow the incoming connections to get through to DinkeyServer. i.e. you must add DinkeyServer as an exception to the firewall on the server (for Windows Firewall use Control Panel | Windows Firewall to do this).

Likewise, if a firewall exists on a machine between the machine running DinkeyServer and the client machines then this will need to be configured too.

Note

sometimes anti-virus programs can also include a firewall as part of the package and interfere with the dongle communication.

#### Log File¶

DinkeyServer maintains its own log file in which it records various important events during its execution. While the server is running, all events are recorded to this log file rather than being displayed on-screen. The most common reason for needing to view the log file is to begin diagnosing a problem. You can view the logfile by running DinkeyServer with the /logfile command-line parameter. Alternatively, you can view it from the DinkeyServer Viewer (Windows only). The logfile is actually stored on disk in the “All Users” profile under the DinkeyServer/<SDSN> directories (where <SDSN> is your Software Developer’s Serial Number).

#### Overriding DinkeyServer Auto-detection¶

In very rare cases the customer may be using a network that does not properly support UDP broadcast and so OPILE will not be able to auto-detect DinkeyServer on the network. Or, you may want to specifically tell your client-side protected software where to look for DinkeyServer. This is possible by creating a OPILE.ini file. This file should be in the same folder as the protected runtime module, e.g. dpwin32.dll. For Linux and Mac OS X operating systems the file is called OPILE.conf and is located in the /etc/ddpro folder. You will need to be root to create or modify this file.

This file takes the following format:

[ddpro]
autodetect=FALSE


where the server key indicates either the ip address of the machine where DinkeyServer is located or the machine name and <port> indicates the value of the port you chose in DinkeyServer. You can also optionally indicate whether you would like our code to try to auto-detect the server if DinkeyServer was not found given the ip address and port you specified. The default value for this is FALSE.

[ddpro]
server=192.168.1.4:32768
autodetect=FALSE


## DONGLE Updating¶

Dongle updating can only be performed for the PC carrying the dongle. Consequently, a Standalone License can be upgraded from OPILE itself, while a network license cannot as OPILE itself is rarely installed on the license server (and OPILE does not need to be installed on a network license server.

The standalone dongle can be updated either from within the OPILE software or using the DinkeyChange program which is supplied with OPILE. A networkwork dongle can be upated from within OPILE, however this requires that OPILE is installed on the dongle server (which is rarely the case).

### Standalone Dongle updating from OPILE¶

To update a standalone dongle from OPILE, navigate to the Tools menu, selecte the License Info menu item.

the License Management dialog loads and all dongle information is summarised on the Dongle Management tab. Click the browse button and Browse for the provided license file and apply the license file by clicking the “Update Dongle” button.

### Standalone & Network Dongle updating using Dinkeychange¶

If OPILE is not installed on the machine where the dongle is running (for example a network dongle, or a system administrator that want to apply the license code) then the dongle can still be upgraded using the DinkeyChange program; This is a standalone application that can easily be copied to any machine and used to apply a license code.

The DinkeyChange program can be run from the start menu, or can be found in the OPILE program directory on a machine where it is installed. The DinkeyChange program itself does not require any installation. Simply run the applicating by starting it. The followign dialog box will load.

The DinkeyChange application shows the dongle number of the detected dongle. Simply drag the update file into the listbox and click the “Make changes to the dongle” button to update the dongle.

### Obtaining an OPILE license file¶

When a dongle requires updating you should contact your software supplier (see contact information in support) and provide them with the information provided below:

2. The dongle number.

3. The current expiry date.

4. The next update number.

5. Your reason for requesting a dongle update code (usually for license renewal or extension).

The easiest way is to simply provide a screenshot of the Licensef the License Info dialogue box (by pressing ALT+Print Screen and paste the result into an email). Alternatively the DinkeyLook.exe standalone application can be used to display the dongle parameters. This application comes with the OPILE installation and is avaialble from the start menu.

In return your software supplier will supply you with a license file.

### Dongle Errors¶

When using the dongle with OPILE you may encounter some errors. The meaning of the error numbers can always be looked up on the following website.

## Legacy Dinkey 2 (Blue/Red)¶

### Standalone Dongles¶

The standalone dongle should work by simply plugging it into a USB port and if necessary restarting OPILE. When OPILE is installed onto a machine it automatically runs the executable file “setupdongle” which installs the appropriate software for your computer to recognise the dongle. The dongle will usually have an expiry date set on it, depending upon the type of license and this can be updated at any time by following the instructions in dongle updating the dongle updating section.

If, for some reason, a computer does not recognise the dongle then the dongle drivers can be found in the program directory and the dongle can be installed by the normal procedures. The program directory would usually be something like “c:windowsprogram filescathie associatesOPILE”.

It is important when using dongles that you do not make unnecessary adjustments to the time on a computer where it is installed. Each time the dongle is accessed it records the time and will not permit access if the current time is set to be before the time it was last accessed.

Note, if a single user dongle is plugged into a machine that has been configured to use a network dongle, the single user dongle will always take priority over the network dongle.

### Network Dongles¶

#### The network dongle¶

The network dongle is a little more complicated than the standalone dongle - but our supplier confidently states they have not yet found a network on which their dongles do not work! Setting up the network dongle involves two main steps:

1. Setting up a dongle server, to which other computers on the network can access. It does not need to be an actual Server, it can be any computer which is connected to the network and can also be a computer from which OPILE is to be used.

2. Setting up individual user computers to access the dongle server.

The dongle server needs access to a path that can be accessed from all the workstations that you would like your OPILE to run from. We refer to this path as the DinkeyNet path. The DinkeyNet path can be on any machine on the network, including the dongle server. DinkeyNet will create a sub-directory off this path. The workstations will need full access rights (including read/write/create/delete) to the path, the system is shown schematically in the diagram below. OPILE can also be installed and used on the dongle server, although the procedure for setting up the network dongle on a workstation will also need to be followed.

Note

• You will need to install the appropriate drivers (using Setupdrv, or using the driver files that can be found in the OPILE program directory on a machine where it is installed) to the dongle server only. You do not need to install the drivers to the workstations.

• When setting up the network dongle on workstations no other OPILE dongle should be plugged into that machine, otherwise unexpected results may occur (i.e. make sure there are no single user dongles plugged in).

• If the protected program on the workstation crashes then the network user is terminated. If the workstation itself crashes then it may take the server a little while to terminate that network user. If the workstation is re-booted then the network user is lost immediately.

• All license management and dongle updating for network dongles will need to be carried out on the dongle server.

• Note, if a single user dongle is plugged into a machine that has been configured to use a network dongle, the single user dongle will always take priority over the network dongle.=[‘

#### The network server¶

To setup the dongle server The DDNet program needs to be running on the dongle server for dongle checking to function. It can be run as a Windows program or as an NT Service. In general we recommend it is run as a Windows program because it has greater functionality. However, you can also run it as NT Service (i.e. a special program that can run on a Windows NT/2000/XP server without anyone having to log-on).

If it is run as a Windows program, it should be loaded when the operating system boots up. You can do this by adding DDNet to the Startup Group. When DDNET runs, it interrogates the dongle(s) and looks in DDNET.INI for a DinkeyNet path. If it cannot find this information it will ask the user for the path. Once this has been established it will store the path in DDNET.INI and not ask for this path again. As DDNet runs in the background we add a DDNet icon to the status bar so you know it is running. If you right-click this icon it will let you terminate the program or view the current network users (it displays the machine name that the user is logged-on to, not the user name).

Illustration of network configuration

#### OPILE Workstations¶

Setting up access to the DinkeyNet dongle on a work station can be carried out through using OPILE>Tools>License Info. Within the license info dialogue box will appear there are two text boxes that will require directory paths to be entered. The first directory path is to the windows directory on the user workstation and administrator rights will be required to setup OPILE for use on a workstation as it needs to write a file called “OPILE.ini” to this directory. The second text box contains the path to the network dongle from the user workstation, this can be selected by using the browse button at the side of the text box. Once both of the paths have been selected then the “Setup Dongle Net” button can be pressed and OPILE will attempt to write the files and access the dongle. It should report back whether it has been successful or not.

Illustration of network configuration in OPILE

#### Common Network Dongle Problems¶

Use of the network dongle is obviously dependent upon the network over which you are using it. Sometimes problems may be encountered that can easily be corrected or avoided.

Each time OPILE is opened using a network dongle OPILE decrements an available user from the dongle. As a result if OPILE is repeatedly opened and closed within the space of several minutes you may find that there are no available network licenses and OPILE starts in Demo mode. This problem can be corrected by giving the dongle server a few minutes to recognise that all users have been terminated and then the network licenses will become available again.

Another common problem with the network dongle is encountered when reconnecting a computer (such as a laptop) to the network and trying to access the OPILE dongle. This problem can easily be corrected by resetting the computer and thus restoring access to common network drives again. If you want to avoid resetting your computer you could also try navigating to the dongle directory using the Windows explorer. Then try reopening OPILE.

It is important when using dongles that you do not make unecessary adjustments to the time on a computer where it is installed. Each time the dongle is accessed it records the time and will not permit access if the current time is set to be before the time it was last accessed.

### Dongle Updating¶

The OPILE dongle contains certain information some of which is read only and other information which may have to be updated as some point. The main piece of information which would require updating is the dongle expiry date, or in the case of a DinkeyNet dongle the number of Network users. The dongle updating can either be carried out by using the Tools > License Info dialogue box within OPILE, or the DDChange program which is supplied with OPILE. If OPILE is not installed on the machine where the dongle is running (for example a network dongle) then the DDChange program can easily be copied to that machine and run from there. The DDChange program can be run from the start menu, or can be found in the OPILE program directory on a machine where it is installed. The DDChange program itself does not require any installation.

When a dongle requires updating you should contact your software supplier (see contact information in support) and provide them with certain information. The easiest way to provide this information will be to email a print screen of the License Info dialogue box (by pressing ALT+Print Screen and paste the result into an email). As a minimum you should always supply the following information:

2. The dongle number.

3. The current expiry date.

4. The next update number.

5. Your reason for requesting a dongle update code (usually for license renewal or extension).

In return your software supplier will supply you with a “Remote Change Code”, which will look something like “0f 5c d3 ce fd 72 78 ad”. Generally this code will be issued as an email and it should be copied exactly as it is into the “Remote Change Code” text box in the license options dialogue box. If the update is successful upon pressing the “Update Dongle” button a return code will be displayed in the text box to the left. Your supplier may or may not ask you for this return code. If the update is unsuccessful then an error code will be displayed and you should contact your supplier again. An example of the remote change code and the return code is shown below.

The DDChange program is also supplied with OPILE and may be useful for updating the dongle on a machine where OPILE is not installed (for example on the Dongle Server). The DDChange and DDLook programs are stored within the program directory on any machine where OPILE is installed, they can be copied from there to the dongle server.

### Dongle Errors¶

When using the dongle with OPILE you may encounter some errors. The meaning of the error numbers can always be looked up on the following website.

### Dongle Change Errors¶

Similarly the meaning of the error numbers generated during dongle updating can always be looked up on the following website.