Supporting Protected Applications Under Wine
Sentinel LDK can be used to protect Windows-based applications that run under the Wine application.
This section describes:
>How to prepare a protected application to run using Wine.
>How to prepare the Linux environment for working with the Run-time Environment and the Wine application.
Tested Configurations
Sentinel LDK support for Wine has been tested as follows:
>Both 32-bit and 64-bit applications, protected with Sentinel Licensing API.
>Both LIB and DLL files have been tested.
>Both SL and HL keys have been tested.
>Applications that are protected with Sentinel LDK Envelope are expected to work.
>Applications licensed and protected with HL (Driverless configuration) keys are expected to work under Wine only if the Linux Run-time Environment is installed on the machine.
>Applications that are licensed with HASP4 or Hardlock keys are not expected to work.
Prepare the Protected Application
On a Windows machine, protect your Win32 application using your customized Licensing API.
Your application is now ready for distribution to your customers.
Prepare the Linux Environment
The steps in this section should be performed by the end user before running the protected application using Wine.
To prepare your Linux environment
1.Install Wine version 7.0 (from http://www.winehq.org) under one of the versions of Linux that is supported by Sentinel LDK.
2.Make sure that Wine is registered in the Windows Registry as follows:
a.In a terminal, enter: wine regedit
b.In the Registry Editor, navigate to the key HKEY_LOCAL_MACHINE > Software.
c.Under Software, check for the existence of the key Wine.
d.If the Wine key exists, no action is required. Otherwise, right-click the Software key and select New > Key. Rename the newly-created key to Wine.
e.Close the Registry Editor.
3.Install the Sentinel LDK Run-time Environment for Linux. For more information, see the
NOTE For applications under Wine, the Run-time Environment is required even when the application is licensed using a Sentinel HL (Driverless configuration) HL key.
Limitations and Known Issues Under Wine
>When executing a protected application under Wine on a 64-bit system, the protected application will not run and will indicate that a system debugger was detected, even when no system debugger is active. To enable a protected application to run under these conditions, disable User debugger detection when you protect the application in Sentinel LDK Envelope.
>Wine does not contain the required HID.DLL support to access the devices directly. The error information listed below is displayed when you enter the command: wine hasp_demo.exe or wine hasp_update.exe
fixme:mountmgr:harddisk_ioctl Unsupported ioctl 2d1400 (device=2d access=0 func=500 method=0) fixme:mountmgr:harddisk_ioctl Unsupported ioctl 2d1400 (device=2d access=0 func=500 method=0) fixme:mountmgr:harddisk_ioctl Unsupported ioctl 2d1400 (device=2d access=0 func=500 method=0) fixme:mountmgr:harddisk_ioctl Unsupported ioctl 2d1400 (device=2d access=0 func=500 method=0) fixme:mountmgr:harddisk_ioctl Unsupported ioctl 2d1400 (device=2d access=0 func=500 method=0) fixme:mountmgr:harddisk_ioctl Unsupported ioctl 2d1400 (device=2d access=0 func=500 method=0) fixme:mountmgr:harddisk_ioctl Unsupported ioctl 2d1400 (device=2d access=0 func=500 method=0) fixme:mountmgr:harddisk_ioctl Unsupported ioctl 2d1400 (device=2d access=0 func=500 method=0) fixme:mountmgr:harddisk_ioctl Unsupported ioctl 2d1400 (device=2d access=0 func=500 method=0) fixme:mountmgr:harddisk_ioctl Unsupported ioctl 2d1400 (device=2d access=0 func=500 method=0) fixme:mountmgr:harddisk_io2ctl Unsupported ioctl 2d1400 (device=2d access=0 func=500 method=0) fixme:mountmgr:harddisk_ioctl Unsupported ioctl 2d1400 (device=2d access=0 func=500 method=0) fixme:mountmgr:harddisk_ioctl Unsupported ioctl 2d1400 (device=2d access=0 func=500 method=0) fixme:mountmgr:harddisk_ioctl Unsupported ioctl 2d1400 (device=2d access=0 func=500 method=0) fixme:wtsapi:WTSQuerySessionInformationA Stub (nil) 0xffffffff 4 0x2ef270 0x2ef288
>The legacy HASP HL Runtime API is not supported.