You are on page 1of 27

List of HASP Device Driver Versions Since V1.

71 (November 9, 1995)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This list includes new HASP Device Driver features, improvements,
bug fixes, and other relevant information.
It is arranged in descending chronological order.
** CAUTION **
Before upgrading the driver, be sure no service using the driver is
running. Although the install program is able, in order to provide a
clean upgrade, to terminate running applications which use the driver,
it cannot terminate running services. So if e.g. the HASP License
Manager is running as service, please stop it before upgrading the
drivers.
** CAUTION **
************************
V4.75 May 21, 2002
************************
Problems Solved
================
Case 310635:
Wrong HDDVersion structure in driver install DLL.
Please make sure to use latest headerfile hiapi.h
Case 310633:
Driver install DLL replaces aksusb.sys even if latest drivers are installed.
Case 310623:
New driver install mechanism fails on Windows 2000.
Case 310634:
HASP-Hardlock interference.
Concurrent usage of HASP and Hardlock parallel keys is blocked.
Case 3744:
HDD 4.70 does not install properly under some Windows 2000 and Windows XP PCs.
Case 310636:
Background checks fail after power mode Standby and Hibernate

************************
V4.70 November 21, 2001
************************
New Features
============
New WinXP MicroSoft signed driver akspccard.sys ver 1.01 to support
PCCard under WinXP.
Problems Solved
================
Case TD #600:
while accessing the PCCard detaching the card generated Blue Screens

************************
V4.65 November 21, 2001
************************
New Features
============
The new device driver fully supports Windows XP,
including WHQL driver signature.
Problems Solved
================
Case 3726:
Dos enveloped application cannot access USB key.
Case 3730:
Some notebook with IrDA port running Win98 can't find parallel HASP
keys.
********************
V4.50 September 2001
********************
Support for Windows XP.
This driver supports Windows XP. It is not signed by MS.
Installation procedure is usual.
When conneting a HASP USB to the computer, XP prompts you with
a warning that the driver is not signed. Click on the NEXT button and
then on the CONTINUE ANYWAY button.
Problems Solved
===============
Case 9357:
DataHASP does not work when all partitions are NTFS, and the PC has no
floppy drive.

**************
V4.35 May 2001
**************
New Features
============
HASP4 Time USB support:
This driver version includes support for the new HASP4 Time USB keys. Please
note, that you need to unplug all USB keys under Windows 2000 in order to unload
the old driver. The new Aladdin USB driver will be loaded after driver installat
ion
automatically if the first key is plugged.
HASP36 support:
Implemented support for HASP36 keys attached to an IBM compatible PC. Please not
e,
that HASP36 keys attached to NEC machines are not supported.

Popup on key removal:


The usual message box if a USB device is disconnected under Windows 2000 will
not be displayed anymore,

************************
V4.25 (HASP CD Rel 10.0)
************************
New Features
============
HASP keys connected to PCI parallel cards registered to the system will
be found on Windows 95/98/ME systems,
because drivers search all LPT ports.
ReadBlock and WriteBlock services on HASP USB keys are handled 40% faster.
Aladdin USB Support for Windows NT4. Since Microsoft Windows NT4 does not
support USB devices, Aladdin provides you this functionality with an
additional set of drivers using a proprietary USB stack.
The stack is available on a separate CD. Please contact your HASP sales
representative.
Problems Solved
================
Case 3713:
Running DOS RUS tools on Windows 98/ME caused reboot.
Case 5402:
Setting LptNum value to a non existing LPT port caused bluescreen.
Case 3692:
HASP PCCARD was not found after Windows 2000 hibernate.
Case 3709:
Application protected with both API function and envelope (using Data HASP)
caused bluescreen after starting it several times.
Case 5677:
USB HASP4 keys without memory were not recognized by HDD 4.12
***********************
V4.12 (HASP CD Rel 9.0)
***********************
New Features
============
HASP keys connected to PCI parallel cards registered to the system will
be found on Windows NT4 and Windows 2000 systems,
because drivers search all LPT ports.
Installation switch HI_PORTDELAY is not used anymore, drivers include
automatic speed calibration instead.

NEC type parallel port is not supported anymore. Please use HDD V4.06
in case you are using a NEC type parallel port.
Problems Solved
================
Driver problems on SMP computers (eg. dual pentium) fixed.
Case 3701:
HASP4 Time keys returned incorrect values under some conditions.
Case 3676:
Listed available options for all switches in help window of hinstall.exe.
Case 3697:
InstallShield 5 sample now is correctly recompiled using the latest
driver install DLL.
***********************
V4.06 March 25, 2000
***********************
new switches for parallel port configuration:
- controlport
- ecpdmaint

set control port registers


disable ECP-DMA-Interrupt

================
Problems Solved
================
HASP not found on Windows 2000.
Printing disturbed on Epson Stylus Pro 9000 after HASP key access
***********************
V4.02 (HASP CD Rel 8.0)
***********************
New Features
============
The new device driver fully supports the new HASP4 family of
HASP keys.
We further enhanced support for ECP printers. Please refer to the
descriptions in the HDD.HLP file for:
- ecpretry
- portallocfunctionality
- portallocretrycount
For more about the HASP Device Driver custom API and HINSTALL,
refer to the HDD.HLP file.
================
Problems Solved
================

Case 3512:
Calling a HASP key while printing from an HP LaserJet 4050TN and
several HP OfficeJet models caused the printer to be reset or
output garbage. This is resolved in version 3.9x of the HASP Device Driver.
*************************************************
V3.81 (HASP CD Rel 7.0) April 1, 1999
*************************************************
New Features
============
In v3.7x of the HASP device driver, a DLL associated with the Hardlock
device driver complicated removal of the drivers.
As a result of this problem, installation and removal of the device
driver have been modified. Changes have been made to both Hinstall
command-line switches and custom API macros. Now only the files
necessary to the HASP device driver are installed and removed by default.
IMPORTANT NOTE
If you are removing HASP device driver v3.7x (which had the DLL that
caused difficulties) or the Hardlock device driver from the command
line or with the API, you may receive the following error
message: "The operation failed. Some processes accessing the driver
are open." If you do, first kill the processes engaging the old
driver (hinstall -kp) before trying to remove it (hinstall -r).
What follows are details of specific changes in Hinstall and the API:
Hinstall Utility
================
In the Hinstall utility, the command-line switch hinstall -i now
installs only the files required by the HASP device driver, and
hinstall -r removes only these HASP device driver files. A new
switch, hinstall -alldrv, enables you to install and remove the
files for both the HASP and Hardlock device drivers. The switch -iu,
which was meant to update the driver, is no longer supported.
Another new switch, -criticalmsg, displays only critical messages
(such as the instruction to reboot). You can choose to use this
switch instead of -nomsg, which disables all messages. By default,
the driver displays all messages.
Custom API
---------Changes have been made to macros in the functions for device driver
installation and removal:
HDDInstallEx()
-------------HI_INSTALL_FULL is supported for backward compatibility, but now
only installs files required by the HASP device driver. A new macro,
HI_INSTALL_HASP, which installs only the files for the HASP device driver,
has been introduced. Use HI_INSTALL_HASP in conjunction with
HI_INSTALL_HARDLOCK to install both drivers. HI_INSTALL_UPDATE is no
longer supported and returns an error.
HI_KILL_PROCESS is intended for use in conjunction with HI_INSTALL_HARDLOCK

or with HI_INSTALL_HARDLOCK OR (the logical or) HI_INSTALL_HASP, but


not with HI_INSTALL_HASP alone.
HDDRemove()
----------For HDDRemove(), two new macros have been added: HI_REMOVE_HASP removes
only the files required by the HASP device driver, while HI_REMOVE_HARDLOCK
removes only the Hardlock device driver files. HI_REMOVE_FULL is supported
for backward compatibility, but now only removes the files necessary to
the HASP device driver. Use HI_REMOVE_HASP in conjunction with HI_REMOVE_HARDLOC
K
to remove both drivers.
HI_KILL_PROCESS is intended for use in conjunction with HI_REMOVE_HARDLOCK
or with HI_REMOVE_HARDLOCK OR (the logical or) HI_REMOVE_HASP both,
but not with HI_REMOVE_HASP alone.
***************************************************************
For more about the HASP Device Driver custom API, refer to the
HDD.HLP file.
***************************************************************
================
Problems Solved
================
#2673
When using the Hinstall command-line based utility, if you installed
the HASP Device Driver twice during run time on a Windows NT
operating system, you had to reboot before the driver was recognized.
#2977
When the dynamically loading HASP Device Driver was installed
under Windows 95, applications protected with older versions
of the HASP Envelope, such as that on HASP CD 4, could not run until
reboot.
#2987
The custom API for the installation of the HASP Device Driver did not
support InstallShield 5. It now does. The HASP CD includes a directory
for InstallShield 5 which does not contain a project file. The HASP
InstallShield 5 project file will be provided to vendors upon request.
#3053
Under Windows NT 4.0, Service Pack 3, if you called HASP API service
50, ReadBlock, simultaneously from two independent single-threaded
tasks on a dual processor, the computer issued a blue screen error.
#3441
HDDSetup, you could only access the help file by pressing <F1>.
Now, by clicking the Help button in all screens of the graphical
user interface, you call up the help file.
#3442
A tab was added to the properties dialog box of the Hinstall
command-line based utility. It displays the version number of
the HASP Device Driver you are installing.

#3452
The purpose of the -nomsg switch in Hinstall is to disable all messages.
However, if you reinstalled the HASP Device, you received a message that
installation was successful and that you must reboot, even if you had
used this switch. Now, the -nomsg switch does not display any messages.
Note that by default, the driver displays all messages.
#3459
The HASP device driver installation sample for Microsoft C/C++ did
not compile properly. It produced link warnings. The solution is
to add the version library to the project file. Find the version
library in the library file of the Microsoft C/C++ directory.
#3460
When installing or removing our the device driver under Windows
NT 4, the Hardlock driver killed all open processes of 16-bit
applications, including those responsible for its installation
and removal.
#3480
If you installed the HASP Device Driver v3.74 under Windows NT 4
on a Japanese NEC computer whose C drive was configured as a floppy,
an error message appeared at every boot before login indicating the
drive was not ready or available.
#3507
On Windows 98, if you removed a MemoHASP USB while reading from or
writing to its memory, the computer crashed with a blue screen.
************************************************
V3.74 (HASP CD Rel 6.1) November 8, 1998
************************************************
Problems Solved
---------------Case #100456:
Protected DOS applications displayed a Windows "illegal operation"
message under Win32s.
Case #100459:
When a machine reboot was required after installation of the
HASP Device Driver using "hinstall - nomsg", a reboot message was
displayed regardless of the -nomsg switch. With v3.74 of the driver a
reboot message will not be displayed when using the -nomsg switch.
************************************************
V3.73 November 1, 1998
************************************************
Problems Solved
--------------Case #3452:
When activating hinstall.exe with the -nomsg switch the installation
process continued to display error messages.

************************************************
V3.72 October 25, 1998
************************************************
A major new aspect of this current version of the HASP Device
Driver is an enhanced, flexible GUI-based setup utility with
which you can install or remove the driver.
This new setup utility overcomes several problems associated
with the former GUI-based Hinstall utility.
With this upgraded driver, you also still have the option of
using the command-line Hinstall, a Win32 utility for driver
installation or removal. It supports Win32s, Windows
95/98 and Windows NT.
Press F1 any time during setup to read the HASP Device Driver
Installation V3.72 help file.
NOTE: The installation of the NetHASP License Manager for
Windows NT is no longer integrated with the installation of the
HASP Device Driver. A separate utility for installing
the NetHASP License Manager for Windows NT will be released
shortly.
NOTE: If you run Windows NT 4.0 with service pack 4, or Windows
NT 5.0, you have to upgrade to this current HASP Device Driver
in order to use HASP. (See Case #3218 below
for related information.)
Below is a list of new features offered in this HASP Device
Driver, which were developed in response to user requests. Also
detailed are problems in earlier versions of the HASP
Device Driver which this upgrade solves.
New Features
-----------New GUI-based setup utility There is a new GUI-based setup
utility with which you can install or remove the driver.
It comes as a Win16 executable, HDD16.exe, that supports Windows
3.1 and Win32s, and it comes as a Win32 executable, HDD32.exe,
that supports Windows 95/98 and NT.
Automatic search for HASP USB (Cases #3359 and #3273)
You no longer need to specify a search for the HASP USB. By
default, the driver accesses the USB ports and then the parallel
ports.
New API function (Case #3188)
You can now include in your code an API function call,
HIGetHDDVersion(). It returns information about which HASP
Device Driver you are about to install and the one that you
are replacing. The function is in the HASP Device Driver custom
installation API. Press F1 to access instructions in the help
file about how to call this function.
HASP USB enumeration
The driver can now distinguish between multiple HASP USB keys
with the same developer code that are attached to USB ports.

For the purpose of HASP USB enumeration, integers from 201 to


255 are reserved for USB ports. Each port at which a key is
attached is assigned one of these 55 numbers, in consecutive
order.
The following is an example of how to use HASP USB enumeration:
1. Call the hasp() routine with the IsHasp() service.
The value returned in P2 is the number of HASP keys that are
attached.
2. Treat the number in P2 as the variable X, where X is the
number of USB ports to check.
If X is equal to 3, then there are 3 HASP USB keys connected at
3 USB ports. The port at which the first key is present is
designated 201, that at which the second is present 202, and
that at which the third is present 203.
3. Call the hasp() routine with a HASP API service that reads
memory or retrieves the HASP ID number, passing the first USB
port number in the LptNum parameter.
You should be checking for unique data that confirms the
identity of a particular key.
4. If the memory of the key at that first port indicates it as
the specific key you want, store its USB port number.
Otherwise, loop back to step 3 with the next USB port number.
In all,loop up to X times.
5. Later in your code, you communicate with that particular key
by using its specific port number.
Checking the driver version number (Case # 3420)
You can now view the driver version number of the haspnt.sys and
haspvdd.dll driver files when you right-click and choose
"Properties".
Fits on floppy disk (Case #2952)
You can now fit any single HASP Device Driver setup utility on
one floppy disk. Each utility is compact, comprising less than
1.4 MB, and although together they cannot fit on a floppy disk,
each separately can.
Restricted search for HASP USB (Case #3360)
You can now limit the search for a HASP to the USB port alone.
From the Hinstall command line, use the following switch: "KeySearch=USB". Likewise, you can limit the search to the
parallel port with the switch: "-KeySearch=Parallel". In the
new GUI-based setup utility, you have the same capabilities of
limiting the search for a key.
Unified version of 16-bit driver file (Case #100418)
While there used to be two versions (one for IBM and the other
for NEC computers) of the 16-bit driver file, hasp.386, now
there is a single, unified version.
Improved HASP USB plug-and-play (Case #100414)
When you removed the HASP Device Driver, you automatically

removed (if present) the USB device driver file, aksusb.sys, and
the USB device driver information file, aksusb.inf.
If, afterwards, you connected the HASP USB, you were requested
to search for the USB files, which you had in fact already
removed.
Now, when you remove the HASP Device Driver, these two USB files
remain. If you later insert the HASP USB, Windows finds the
files by itself. You do not need to perform any actions to find
them.
Problems Solved
--------------The fixes for the following problems are supplied in this
upgrade of the HASP Device Driver:
Case #3004
On an SMP (Multiple Processor) PC, the HASP Device Driver
crashed under Windows NT, giving an "illegal instruction" error
message.
Case #3218
The hotfix from Microsoft, known as "Pentfix", supplied
following the release of service pack #3 of Windows NT 4.0,
interfered with the HASP Device Driver. When you
performed installation of the driver and rebooted your system, a
blue screen error appeared.
Case #100416
In some instances, when you accessed a HASP key during or after
printing with an ECP printer, you received an error message
informing you that a HASP was not found.
Cases #3040 and #2798
When you accessed the HASP key while printing with some ECP
printers, the printer's output became skewed, or the printer
reset itself. To overcome the problem, you can now use the
following switch to request ownership of the port from Windows:
"-contention=yes".
This switch is not the default for two reasons. First, as it
involves checking the port each time you try to access to the
plug, it slows the key's response time. Secondly, there is a
small, theoretical possibility that Windows will, in some
instances, simply not free the port.
Using the switch leads to a new error, Error -6, when the port
is not available. In this case,
you may want to issue a message box, offering users the option
of pressing an "OK" button when printing finishes in order to
continue the operation. Alternatively, if the operation is
not time-critical, you can wait a minute and try again.
If you use this switch, you do not have to reboot your system
for it to take effect.
Case #100432
If you had upgraded your driver to version 3.71, you had to
write switches from the command line differently than in prior
versions. After writing "hinstall -i" from the command line,

you had to write, on a fresh command line, "hinstall" followed


by the other switches you needed.
Case #3392
Under Windows 95 OSR2.1, when you specified a search for a HASP
key at a USB port on a computer that lacked such a port, a blue
screen appeared with an error.
Case #2853
When rebooting Windows NT to complete installation of the HASP
Device Driver on an Alpha machine, you received an error message
reading: "HASP VDD Error: unable to locate HASP Kernel Device
Driver. You did not reboot the system after the last
installation."
Case #3253
In some instances under Windows 3.1, when you issue an API call
to install the HASP Device Driver, you received the following
error: "Memory Allocation Error - Can't write to system.ini".
Cases #3334 and #3316
Several compilers (including Visual Basic, Delphi, and
InstallShield) reported that they did not recognize certain
functions of the HASP Device Driver custom installation API.
Case #3319
When you accessed the HASP key and then opened a DOS box in
Windows 3.X, the operating system crashed, without issuing any
error message.
Case #3340
The Win16 setup utility incorrectly identified Windows for
Workgroups as a 32-bit operating system.
Case #3358
The Win 32 HASP Device Driver sample API for Watcom C (Version
11.0) did not link successfully if you ran the compiler with the
stack calling convention.
Case #3379
When you ran the InstallShield (Version 3.63) sample under
Windows 95, it displayed a blue screen entitled 'HASP Device
Driver API Demonstration', with an error message:
"HIGetInfo() failure - Getting the HASP Device Driver last error
failed."
Case #3386
Under Watcom C (Version 11.0), under Windows 95, the function
HDDInstall() caused the following error: "The instruction at
0x0041f3d2 referenced memory at 0xffffffff. The memory could not
be read."
Case #3415
Specific combinations of multiple switches for the installation
of the NetHASP License Manager from the Hinstall command line
were not recognized as valid. As the installation of the
NetHASP License Manager for Windows NT is no longer integrated
with the installation of the HASP Device Driver, this problem is
no longer an issue.

Problems Avoided with New GUI Setup


----------------------------------In this current HASP Device Driver, HDD16 or HDD32 replaces the
GUI-based Hinstall utility of prior versions. These new
utilities overcome the following problems associated with this
older Hinstall GUI application:
Case #2965
When you placed the GUI-based Hinstall utility file,
install.exe, into a directory whose pathname contained a space
or hyphen in it, you disabled the application.
In addition, on a computer partitioned between the Windows 95
and Windows NT operating systems, the Hinstall GUI-based utility
did not work properly on Windows 95. When launched, a list of
valid switches appeared, but you had no option of installing the
driver.
Case #3239
When you clicked "Remove" to remove the NetHASP License Manager
loader, you were asked if you want to remove the NetHASP License
Manager and the HASP Device Driver. The query was incorrect, as
in fact you could only remove the NetHASP License Manager
loader.
Case #3082
Version 3.40 of the GUI-based Hinstall utility did not display
server switches or accurate information about the server when
reporting the NetHASP License Manager's status.
Case #3336
Under Windows NT, when you installed the HASP Device Driver, you
received the error message: "The HASP Device Driver you want to
install is older than the one currently installed." This message
appeared even when the driver you wanted to install was older
than the one currently installed.
End Note on the HASP USB
-----------------------Vendors should supply their end users with the USB device driver
file, aksusb.sys, and the USB device driver information file,
askusb.inf. The reason is to avoid a potential problem.
If an end user inserts the HASP USB into the port without having
first installed the HASP Device Driver, Windows searches for
these two particular files. If the files are not available,
Windows requests the location at which to find them. (Refer to
case #100414 above for related information).

************************************************
V3.63 June 8, 1998
************************************************
Cases #1950, #1656, #2734:
In some cases, when the NetHASP License Manager was loaded automatically
via a Windows NT service, it loaded before the TCP/IP protocol.
In these cases, the NetHASP License Manager displayed the error message:
"TCP/IP protocol not found."

Case #3165:
The Epson LP700W printer was reset every time HASP was checked under
Windows 95. An error message was displayed saying that the printer is
not connected.
Case #3185:
When HASP was accessed by Win32 protected-applications during large print
jobs, the printer communication was cut. This occurred with various printer
models, such as HP Laserjet 6L, and HP DeskJet 660c.
Case #2534:
When a Quick Basic program accesses a HASP that was connected to an
HP Laserjet printer (such as Laserjet 4L or 5L), a "Device conflict"
error message was displayed.
Case #3077:
When accessing HASP while printing with an HP OfficeJet 550, 330 or 590,
the following error message was displayed:
"The HP OfficeJet has failed the communication test. Check the connection to
the HP OfficeJet or try a new cable."
Case #2789:
When accessing HASP repeatedly while printing with an HP DeskJet 660c or 690,
a "Connection lost" message was displayed.
************************************************
V3.61 (HASP CD Rel 6.0) April 15, 1998
************************************************
Win32 HDD Support for HASP USB
------------------------------The Win32 HASP Device Driver's major new feature is its support for HASP USB.
This means that applications protected with HASP-3, MemoHASP, or NetHASP
that are already out in the field can be upgraded to use HASP USB. Upgrading
is done by installing V3.60 of the HASP Device Driver on an operating
system that supports USB technology. (Windows 95 OSR 2.1, Windows 98.)
Currently, the HDD supports HASP USB under Windows 95 OSR 2.1 and Windows 98.
HASP USB Installation
--------------------HASP USB should not be inserted into the USB port until the Hasp Device
Driver has been successfully installed.
1. Install the HASP Device Driver by running the installation program,
hinstall, with 2 switches as follows:
hinstall -i -usb=yes
A window appears with the message that the HASP Device Driver was installed
successfully.
2. Click OK.
3. If you installed the Hasp Device Driver over an existing one, reboot
the computer now.

4. Connect HASP USB to the USB port.


The New Hardware Found window automatically appears, notifying you that
the system has found the new device (HASP USB). The system then requests the
path to an information file:
Under Windows 95 the name of the information file is aksusb95.inf.
Under Windows 98 the name of the information file is aksusb.inf.
5. Enter the path to the information file: c:\< Windows>\system, where
<Windows> is the directory in which the Windows operating system is
installed.
Windows then automatically installs aksusb95.sys under Windows 95 and
aksusb.sys under Windows 98.
This completes the HASP USB installation. From this point on, any protected
application which uses the Win32 HASP Device Driver searches first for a
parallel HASP key, and if one is not found, searches for a HASP USB.
Bug Fixes
=========
Case #2285:
When activating hinstall.exe, a DOS box was displayed with a Windows
message box in front of it. The DOS box remained displayed until you
clicked OK on the Windows message box.
Case #2686:
Under Windows NT, when activating hinstall -is (to install the NetHASP
License Manager) the message was displayed: "You need to reboot your
computer." With v3.60, after activating hinstall -is, the NetHASP LM is
installed, and you are prompted whether you wish to load it.
Case #2985:
The HiGetInfo() function did not work properly in the Win32 Delphi HDD
custom installation API. When trying to display the driver information,
the message "Device driver not installed" was displayed even if the
driver was installed.
Case #2991:
The speed of HASP access was reduced by about 10 times due to security
enhancements. The HASP Device Driver fixes this problem and the speed has
been increased.
Case #2994:
Activating hinstall -iu (to update the HASP Device Driver) returned an error
if a previous version of the driver was not installed. With V3.60, when a
previous version of the driver is not installed an appropriate message is
displayed.
Case #3010:
The HiGetInfo() function did not work properly in the Win32 Visual Basic HDD
custom installation API. When trying to display the driver information, the
message "Device driver not installed" was displayed even if the driver was
installed.
Case #3145:

Under Windows 95, activating a Win32 MSC protected application after


activating a C DOS protected application in a DOS Box, resulted in an exception
of the Win32 application.
Case #3197:
When activating hinstall -i in conjunction with other switches under Win32s, the
driver was installed, but the other switches did not take effect.
Case #3210:
HASP Win16 API crashed when a NetHASP service was called after a local HASP serv
ice
was called. The fix is within the HASP Device Driver.
************************************************
V3.4 (HASP CD Rel 5.1) January 15, 1998
************************************************
V3.4 of the HASP Device Driver supports PC-CardHASP under Windows NT
(case #1367).
For full installation instructions of PC-CardHASP under Windows NT,
please refer to cardhasp.doc in the CARDHASP directory.
Bug Fixes
=========
Case #2286:
PC-CardHASP could not be configured properly under Windows 95 on
Notebooks with TI-113x controllers.
The fix is supplied within V3.4 of the HASP Device Driver.
Case #2796:
PC-CardHASP could not be configured properly under Windows 95 on
IBM Thinkpad 760 EL.
The fix is supplied within V3.4 of the HASP Device Driver.
Case #2915:
DOS applications protected with the HASP Envelope crashed under
Windows for Workgroups.
The fix is supplied within V3.4 of the HASP Device Driver.
************************************************
V3.3 (HASP CD Rel 5.0) November 20, 1997
************************************************
In addition to enhancements to the security, HASP Device Driver V3.3
introduces the following improvements and upgrades:
Dynamic Load under Windows 95
----------------------------V3.3 of the HASP Decide Driver loads dynamically under Windows 95. With this
new feature plus the HASP Device Driver's dynamic load under NT, your clients
can enjoy a quick and easy installation of your protected application.
Two points should be considered regarding the HASP Device Driver's dynamic
load under Windows 95:

-- After installing HASP Device Driver V3.3, only HASP (API and Envelopes)
versions 6.1 and up load the driver automatically. Previous versions of the
Win32 API cannot load it dynamically. This means that HASP-protected
applications using HASP versions prior to V6.1 will require a system reboot
before they can use V3.3 of the HASP Device Driver. This reboot, however,
is to be performed once, and never again for the respective station.
-- The dynamic load of the HASP Device Driver is performed the first time
HASP is accessed after a system reboot. At that instance the currently
installed HASP Device Driver is loaded. In the future, when you need to
upgrade the HASP Device Driver with a version newer to V3.3, you must do
so before any HASP-protected application has been activated. This is to
ensure that an older version of the HASP Device Driver is not already
loaded, thus preventing the dynamic load of the new one.
If you do upgrade a HASP Device Driver after a HASP-protected application
has been activated, you will need to reboot your system in order for the
new driver version to load dynamically and take effect.
User Friendly Installation Program
---------------------------------The HASP Device Driver for Windows 95 and Windows NT can now be installed
via a user-friendly software utility. You can find the hinstall.exe
installation utility in the drivers\install\win32 directory. Note that the
command line hinstall.exe can be found in the drivers\install\win32\cmdline
directory.
To install the HASP Device Driver under Win32s use either the command line
hinstall.exe, or the Win16 HASP Device Driver setup.exe program which you can
find in the drivers\install\win16 directory.
Currently, with the new hinstall.exe utility you can only install and remove
the HASP Device Driver via a user friendly GUI, and specify License Manager
switches for the NetHASP LM loader under Windows NT. The same hinstall.exe
can, however, be used via the command line to specify other HASP Device Driver
related switches.
Bi-Directional Communication
---------------------------Improvements have been made to the automatic recognition of ECP and Bidir
modes.
HINSTALL Support for Compaq Docking Station
------------------------------------------With Compaq Docking stations, the network connection was lost when HASP
was checked. To support these stations, use the /compaq=yes switch when
running hinstall.exe (command line version only).
Block Pointer Validation
-----------------------The HASP Device Driver checks the validity of the pointed buffer in read/write
block services, to prevent writing to an invalid buffer - which causes an
exception.
Date Format

----------The format of the date parameter has been changed to Month, Day, Year (e.g.
June 14, 1997 instead of 14.6.97).
Additional Display of Information
--------------------------------When running hinstall /info the value of additional parameters are displayed:
portmode, LPT, ServerPath, ImagePath, ServerSwitches.
Support for Win32S
-----------------Two improvements have been made to the HASP Device Driver to support
Win32S:
-- All the HASP Device Driver keys which are normally listed in the system
registry are listed under Win32S in the [HASPDD] section of the
windows\system.ini file.
-- The /info switch (used with the command line version of hinstall.exe), and th
e
HDDGetInfo() custom installation function are supported under Win32S.
Registry Entries Documentation
-----------------------------The HASP Device Driver registry entries are now documented in the hinstall
help file.
New HASP Interfaces
------------------HASP CD Rel 5.0 introduces new interfaces for customizing HASP Device Driver
installation via your application. With the Win16 interfaces you can call the
installation API via your Win16 application, to install the HASP Device Driver
under Windows 3.x, Windows 95 and Windows NT. The Win32 interfaces let you
call the installation API via your Win32 application, to install the HASP
Device Driver under Win32s, Windows 95, and Windows NT.
-- Win16
Microsoft C
InstallShield 3
-- Win32
Delphi
InstallShield 3
Visual Basic
Generic DLL
Bug Fixes
--------Case #2589
Custom installation of the HASP Device Driver under Windows NT 4 resulted
in an error: "Failed to write haspnt.sys to the disk Cannot create a file".
This happened due to incorrect handle of the DriverPath variable in
HDDInstallEx().
Cases #1981, #2564, #2653, #2642

After calling HASP the serial connection broke.


Case #2567
The /nomsg switch disabled all messages, including the error messages. With
the fix, only success messages are disabled.
Case #2598
Information was displayed in the registry event viewer even when the
/portmode=auto switch was used with hinstall. When this switch was used in
this way, the portmode parameter was deleted from the registry. With the fix,
the portmode will always be present in the registry, and the event viewer
message will not appear.
************************************************
V3.1 June 15, 1997
************************************************
HASP Device Driver V3.1 introduces the following new features and
bug fixes:
Setup Utility for Windows 3.x
---------------------------------------Setup.exe is a Windows Wizard that lets you install the HASP Device
Driver for Windows (hasp.386). Setup.exe copies the hasp.386 driver
to the Windows system directory and updates the system.ini file.
Supply setup.exe to your clients together with all the files in the
drivers\install\win16 directory.
Note:
Due to an InstallShield bug, setup.exe cannot be activated more than
once. To re-activate setup.exe you must first restart your system.
Automatic Port Mode Detection
----------------------------------------V3.1 of the HASP Device Driver automatically detects, and operates
according to the mode of the parallel port, i.e. normal, ecp or bidi.
Automatic detection applies to the Windows NT, Windows 95,
Win32s, and Windows 3.x HASP Device Drivers.
If automatic detection fails, you can install the HASP Device Driver
and manually specify the port mode. With hinstall.exe this is
performed using the -portmode switch (for additional information refer
to hinstall.hlp). With setup.exe this is performed by selecting Custom
Installation and specifying the port mode.
The HASP Device Driver automatic detection works according to the
following algorithm:
Check HASP
If HASP found
Return HASP found
else (HASP not found)
If portmode is specified in the registry*
Begin
Change the actual mode of the parallel port to normal
Check HASP
Change the actual mode of the parallel port to the original
mode (as specified in registry)
Return result (HASP found or not found)

End
Else (portmode is not specified in registry*)
Begin
Detect the actual mode of the parallel port
If the actual mode is normal
Return HASP not found
Else (actual mode is not normal)
Begin
Change the actual mode of the parallel port to normal
Check HASP
Change the actual mode of the parallel port to the
original detected mode
Return result (HASP found or not found)
End
End
* Under Win 3.x portmode value is saved in the hasp.386 file.
Notes:
a. When ECP parallel port mode is automatically detected, or
PortMode=ECP is specified in the driver installation: As a result of the
mode change to Normal and then back to ECP, data that is stored in
the port buffer will be lost. Such data loss can occur when HASP is
accessed while printing.
b. When BiDi parallel port mode is automatically detected, or
PortMode = BiDi is specified in the driver installation: Randomly the
printer driver might pop up a message window reporting that
connection with the printer has been lost. This message should be
ignored by clicking the OK button and continuing.
New -portmode Switch Values
---------------------------------------The hinstall -portmode switch can receive the following values:
NORMAL
ECP
BIDI (changed from the previous BIDIR value)
AUTO - This is the default value. It instructs the HASP Device Driver
to detect the mode of the parallel port automatically.
Dynamic Load under Windows NT
----------------------------Under Windows NT the HASP Device Driver loads dynamically.
This means that you do not need to restart your system after activating
hinstall.exe.

New Directory Structure


-------------------------------HASP CD 4.0 contains a new structure of the DRIVERS\INSTALL
directory:
DRIVERS\INSTALL\WIN16 contains the setup.exe utility which
installs the HASP Device Driver for Windows 3.x. You must supply

all the files in the WIN16 directory to your clients.


DRIVERS\INSTALL\WIN32 contains hinstall.exe which installs the
HASP Device Driver for Windows NT, Windows 95 and Win32s. This
directory also contains interfaces for custom device driver installation.

Additional HASP Device Driver Features


----------------------------------------------------- The Win32 API that supports the custom installation of the HASP
Device Driver, enables specifying port mode (compatible with the
hinstall -portmode switch).
- V3.1 of the HASP Device Driver will delete the HASP Device Driver
files upon removal.
- The HASP Device Driver installation utility now prompts when the
currently installed HASP Device Driver is newer than the one being
installed.
Bug Fixes
------------Case #2235:
On OEM Windows NT, and under Windows NT in which the
DRIVERS directory was missing, the HASP Device Driver failed to
install.
Case #2322:
The custom installation API function HDDRemove() returned OK
when no HASP Device Driver was installed.
Case #2324:
In hisuberr.h, the error codes for
ERROR_SETTING_VALUE_REGISTRY and
ERROR_CREATING_REGISTRY were identical.
Case #2451:
The HASP Device Driver performed an improper 16 bit to 32 bit
pointer conversion. The fix supports WHINST.EXE v6.0.
Case #2428:
Under Korean Windows 95 the HASP Device Driver did not recognize
the computer type.

****************************************************************
V3.05 February 28, 1997
****************************************************************
1. Upgraded version of hasput16.dll:
HINSTALL V3.05 incorporates HASPUT16.DLL v6.0 which fully
corresponds to HASP API for Win32 v6.0.

2. Support for INT 2F:


HASPUT16.DLL v6.0 supports INT 2F by default. This is to provide full
support for the Netware Client 32.
3. Support for new NHSRVW32.EXE name:
HINSTALL supports the new name of the NetHASP License Manager
under NT: NHSRVW32.EXE. If the older version of the NetHASP LM NHSRVWNT.EXE already exists in the SYSTEM32 directory, the user
should rename it NHSRVW32.EXE.
4. Bug fixes:
Case #2165:
Using the HASP Device Driver custom installation DLL for Borland,
requested a missing Borland DLL.
Case #2169
Under Windows NT, when the HASP Device Driver loaded it displayed an
error if the PortMode parameter was not specified in the registry. The
driver continued to work properly. Since the PortMode is not obligatory, the
error message is changed to a note.
Cases #1982, #2105, #2128:
When HINSTALL was installed under Windows 95, with certain serial
devices, the HASP Device Driver returned the following error: "The call
VXD of dynamic connection is not valid from HASP95 (01)+00000033 to
the specific VMD, service 7".

****************************************************************
V3.03 January 20, 1997
****************************************************************
1. Support for Bi-Di and ECP port modes:
HINSTALL V3.03 supplies a better solution and compatibility with the
various parallel port modes such as Bi-Di and ECP.
A new, undocumented switch can now be used in conjunction with hinstall:
-portmode
The -portmode switch can receive one of the following values: bidir, ecp,
or normal (normal is the default).
For example, if you know the printer you are using works in bi-di mode,
activate hinstall as follows:
hinstall -i -portmode=bidir
The -portmode switch can be used with hinstall after the HASP Device
Driver has already been installed, i.e. hinstall -portmode={mode}. Note that
using the -portmode switch requires reboot of the system.

As a result of using the -portmode switch, the following parameter will be


added to the registry parameters entry:
PortMode=ECP | BiDir | Normal
To support the new port modes, V3.03 of the HASP Device Driver will
perform the HASP check according to the algorithm defined below:
If PortMode is not specified or if PortMode=Normal
check HASP;
return result (HASP found or HASP not found);
If the PortMode is BiDir or ECP
check HASP
if HASP found return HASP Found
else (HASP not found)
change the port to Normal mode;
check HASP;
return result (HASP found or HASP not found);
reconstruct the port to the mode specified in PortMode
(BiDir or ECP) ***;
*** The HASP Device Driver does not identify the actual setting of the port
mode, but relies on the user input through the -portmode switch.
Notes:
a. When the PortMode=ECP, as a result of the mode change to Normal
and then back to ECP, data that is stored in the port buffer will be lost.
Such data loss can occur when HASP is accessed while printing.
b . When the PortMode=BiDir, at times the printer driver might pop up a
message window reporting that connection with the printer has been lost.
This message should be ignored by clicking the OK button and continuing.
2. Solution for HASP memory corruption:
HINSTALL V3.03 contains a fix for the sporadic problem of HASP memory
corruption. The fix is in the ReadBlock API service. All HASP-protected
applications that can communicate with the HASP Device Driver will no
longer suffer from this problem.
3. Bug Fixes:
Case #1945:
The -serverswitches switch for hinstall did not function properly unless you
inserted a space after the first quote and before the server switch itself.
Case #2001:
On an NEC Notebook, hinstall identified the computer type as IBM.

****************************************************************
V3.01 December 9, 1996
****************************************************************

V3.01 of the HASP Device Driver fixes the following bugs:


Case #1909
Hinstall recognizes computer type as NEC when installed on Japanese
IBM with 106 keyboard settings, under Japanese Win32 O/S.
Case #1920
Under Windows 95 on NEC, after pressing Enter on any HASP
service, the keyboard buffer is filled with additional Enters.
This causes the application windows to duplicate many times.
This did not happen with a mouse click instead of an Enter.
****************************************************************
V3.0 November 4, 1996
****************************************************************
1. New Feature - Full Custom Installation API
- Enhanced API
- Dynamic and static linking support
- Full documentation
For complete information refer to the HINSTALL.HLP file.
2. Comprehensive command-line switches for HINSTALL.EXE.
Following is a brief summary of the new switches:
/autodetect=<Mode>
: Enable/Disable hardware auto detect
/LPT[x]=<Address>
: Specify the parallel port address.
/computertype=<Type> : Specify whether the computer is an IBM or NEC.
/iu
: Lets you upgrade the HASP Device Driver
/serverpath=<PathName>: Specify the NetHASP License Manager's
full path.
/serverswitches="<SwitchList>":
Specify the NetHASP License Manager
command line switches.
/nomsg
: Run HINSTALL in silent mode (no messages
displayed).
In addition HINSTALL accepts multiple switches in the command line.
For complete information refer to the HINSTALL.HLP file.
3. New Feature : Under Windows NT the HASP Device Driver automatically
detects the parallel ports which are in the system. This make it very
easy to port applications between IBM and NEC, and Intel PPC, MIPS
and Alpha based machines.
4. Additional useful parameters in the Windows NT database registry:
Location: HKEY_LOCAL_MACHINE\System\CurrentContorlSet\Services\Haspnt
LPT1..LPT3 : Parallel port addresses detected by the HASP Device
Driver.
AutoDetect : Disables/enables the automatic hardware detection made
by the HASP Device Driver while it is loaded.
ProcessorType: Processor type indicator.
Valid values are PPC, ALPHA, MIPS and X86.
ComputerType : Computer type indicator.

Valid values are IBM and NEC.


Location: HKEY_LOCAL_MACHINE\System\CurrentContorlSet\Services\HASP Loader
ServerPath
: Full pathname of the NetHASP License Manager.
ServerSwitches: Command line switches for the NetHASP License Manager.
5. Under Windows NT HINSTALL displays a special error message if
the user does not have administrator privileges.
6. Under Win32s the hasp.386 is written to the windows\system directory
instead of the windows directory.
7. Bug fixes:
Case #1705:
Upon Windows NT machine startup, you received the following HASP
Device Driver message: "HASPVDD error: unable to locate Kernel
Device Driver. You did not reboot after installation.
Case #1682:
When there was a HASP Device driver version prior to v2.2 installed,
you first had to remove it, and only then use hinstall v2.2 to
install the upgraded version.
Case #1546:
Under Japanese Windows 95 / Windows NT on an IBM, the computer type
was identified as NEC instead of IBM.
Case #1545:
When the protected application accessed HASP under Windows 95 on NEC,
while printing was in process, you received a HASP Not Found message.
Case #1516:
When the protected application accesses HASP under Windows 95 the
system crashed with the following message: "The call VXD of dynamic
connection is not valid from hasp95 to the specific VMD, service 7."
****************************************************************
V2.2 July 24, 1996
****************************************************************
1. Bug fix for case #1598: Running envelope-protected DOS applications
with HASP36 on IBM, caused the application to hang.
****************************************************************
V2.1 July 1, 1996
****************************************************************
1. New feature - The HASP Device Driver supports Win16 and DOS
applications running under Windows 95 and native Windows 3.x.
* Under native Windows 3.x the HASP API will access the HASP Device
Driver (HASP.386) only if it is exist. Otherwise it will access
the parallel ports directly.
Note: There is no automatic installation utility for HASP.386.

To install do the following:


- edit the system.ini file
- in the [386Enh] write device=<path>\hasp.386
* Under Windows 95 the HASP API can access the parallel port
only via the HASP Device Driver. In this case use HINSTALL.EXE V2.1.
2. Automatic LptNum conversion under IBM: 0 <--> 50.
* The HASP Device Driver will always search first for standard
HASP (25-pin). If one is not found, the HASP Device Driver will
then search for a HASP36.
* The HASP Device Driver converts LptNum 60 to 0 and 50.
3. Bug fix for case #1140:
Bug description: Activating HINSTALL.EXE under Windows NT V4.0b
caused Windows NT to crash.
4. Better support for accessing HASP while printing, and when
using bi-directional communication with the parallel port.
The following printers were tested:
- HP DeskJet 660c
- HP 5L
- NEC Superscript
Below is a list of the HASP software versions that support the
HASP Device Driver. (Support is available with the specified
version and up).
HASP Device Driver for Windows NT (HINSTALL.EXE V2.1)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DOS API
V5.02
DOS Envelope
V5.0
Win16 API
V5.02
Win16 Envelope
V5.0
Win32 API
V1.7
Win32 Envelope
V5.0
HASP Device Driver for Windows 95 (HINSTALL.EXE V2.1)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DOS API
Does not support yet
DOS Envelope
V5.11
Win16 API
V5.1
Win16 Envelope
V5.11
Win32 API
V2.01
Win32 Envelope
V5.0
HASP Device Driver for Win32s (HINSTALL.EXE V2.1)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DOS API
Does not support yet
DOS Envelope
V5.11
Win16 API
V5.1
Win16 Envelope
V5.11
Win32 API
V2.01
Win32 Envelope
V5.0
HASP Device Driver for Windows (HASP.386 V2.1)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

DOS API
DOS Envelope
Win16 API
Win16 Envelope

Does not support yet


V5.11
V5.1
V5.11

****************************************************************
V2.01 February 23, 1996
****************************************************************
1. HINSTALL.EXE V2.01 - the HASP Device Driver for Win32.
* Supports Win32 applications under Windows 95.
* The installation program for Win32 automatically
recognizes which system it is running on (Win32s, Windows NT,
Windows 95) and installs the appropriate HASP Device Driver.
* The DLL that enables integrating the HASP Device Driver
installation directly into an application (hinst.dll) supports
Windows 95. Hinst.dll is available for Microsoft C, Borland C,
and Watcom C.
* The HASP Device Driver automatically recognizes whether it is
running on IBM or NEC and checks for the appropriate type of
HASP key. This means an application protected for either IBM or
NEC will run on both systems.
* The HASP Device Driver can work with systems that include multiprocessors.
* The HASP Device Driver can return its installation status (run
HINSTALL /INFO).
* For installation help, run:
HINSTALL /HELP
or
HINSTALL /?
* Bug fix: When the HASP Device Driver was being installed under
Windows NT, there was a bug that combined two lines in CONFIG.SYS
into one line.

****************************************************************
V1.71 November 9, 1995
****************************************************************
1. HINSTALL.EXE V1.71 - the HASP Device Driver for Win32.
Bug description: 16-bit Windows API does not run under Windows NT-J
V3.5 emulation (Japanese version).
This driver solves the problem and should be used in conjunction with
Windows API V5.02.

The version includes all relevant sources to compile this driver.