Honeywell USB Serial Driver Installation

WINDOWS OS SUPPORTED:
======================
1/ Windows XP 32 and 64 bit
2/ Windows Vista 32 and 64 bit
3/ Windows 7 32 and 64 bit
4/ Windows 8 32 and 64 bit
5/ Windows 8.1 32 and 64 bit
6/ Windows 10 32 and 64 bit
7/ Windows Embedded WEPOS 1.x
8/ Windows Embedded POSReady 2009
9/ Windows Embedded POSReady 7
10/ Windows Embedded 8 Industry
11/ Windows Embedded 8.1 Industry
12/ Windows 10 IoT Enterprise LTSB 2015

Uncompress the driver install media and save to target computer as <driver install directory>.
The <driver install directory> is the directory folder where all the files in the driver install media get uncompressed and copied to.
The name of the <driver install directory> can be any valid string name of the user choice.

BEFORE PROCEED, PLEASE CONSULT THE "NOTES" SECTION AT THE BOTTOM OF THIS DOCUMENT FOR SPECIAL USE CASES.

NORMAL(INTERACTIVE) INSTALL/UNINSTALL (for normal user)
=======================================================

1) INSTALLATION: The driver can be installed to target computer by following one of the below methods:

a/ Method 1 -- Install from a command prompt

   i/ Open a Command Prompt with "elevated priviledge". Right click "Start->All Programs->Accessories->Command Prompt". 
      Select "Run as administrator".
  ii/ cd <driver install directory>
 iii/ Run setup.bat
  iv/ Follow installation instructions.
   v/ Because this driver release package is NOT WHQL certified, pops up will occurs, but different pop up behavior will be observed depending on the version of Windows OS.
      Please follow the below steps:
      a/ Windows 7, 8, 8.1, and 10 (both 32 and 64 bit):
         * During driver install, "Windows Security" pop up will occur. Select the checkbox "Always trust software from Honeywell International Inc.", then click "Install".
         * When connecting new hw device, Windows should automatically find the correct driver to install. 
           Sometimes, Windows can't find the correct driver to install, the user must manually "update" the driver. This manual
           process needs to be done two times, once for each new device model the first time it connects. Once for USB device enumeration
           under "USB" device class, and once for CDC-ACM device enumeration under "Ports (COM & LPT)" device class.
           
           Browse the correct device under Windows Device Manager, right click, and select "Update Driver Software".
           Select "Browse my computer for driver software", and browse to the correct "driver installed location", and select next.
           The "driver installed location" is the folder location supplied during the driver install wizard.
           
      b/ Windows XP (both 32 and 64 bit)
         * During driver install, "Software Installation" pops up will occur. Select "Continue Anyway" for each of the pop up.
         * When connecting new hw device, "Found New Hardware Wizard" pop up will occur twice. Once for USB device enumeration under "USB" device class,
           and once for CDC-ACM device enumeration under "Ports (COM & LPT)" device class.
         
           For each pop up, do as follow:
           - Select the "No, not this time" option, click Next.
           - Select "Install from a list or specific location (Advanced)" option, click Next. 
           - Select the default option, "Search for the best driver in these locations", check the "Include this location in the search" checkbox, 
             and browse to the correct "driver installed location", select next.
           The "driver installed location" is the folder location supplied during the driver install wizard.           
               
b/ Method 2 -- Install from Windows Explorer

(Note: This method recommended if the <driver install directory> is stored localy on target machine. Do not use
       this method if the <driver install directory> is stored in a network location)
       
   i/ Open the <driver install directory> with Windows Explorer.
  ii/ Right click the file "setup.bat" and select "Run as administrator"
 iii/ Follow installation instructions.
  iv/ Because this driver release package is NOT WHQL certified, pops up will occurs, but different pop up behavior will be observed depending on the version of Windows OS.
      Please follow the below steps:
      a/ Windows 7, 8, 8.1, and 10 (both 32 and 64 bit):
         * During driver install, "Windows Security" pop up will occur. Select the checkbox "Always trust software from Honeywell International Inc.", then click "Install".
         * When connecting new hw device, Windows should automatically find the correct driver to install. 
           Sometimes, Windows can't find the correct driver to install, the user must manually "update" the driver. This manual
           process needs to be done two times, once for each new device model the first time it connects. Once for USB device enumeration
           under "USB" device class, and once for CDC-ACM device enumeration under "Ports (COM & LPT)" device class.
           
           Browse the correct device under Windows Device Manager, right click, and select "Update Driver Software".
           Select "Browse my computer for driver software", and browse to the correct "driver installed location", and select next.
           The "driver installed location" is the folder location supplied during the driver install wizard.
           
      b/ Windows XP (both 32 and 64 bit)
         * During driver install, "Software Installation" pops up will occur. Select "Continue Anyway" for each of the pop up.
         * When connecting new hw device, "Found New Hardware Wizard" pop up will occur twice. Once for USB device enumeration under "USB" device class,
           and once for CDC-ACM device enumeration under "Ports (COM & LPT)" device class.
         
           For each pop up, do as follow:
           - Select the "No, not this time" option, click Next.
           - Select "Install from a list or specific location (Advanced)" option, click Next. 
           - Select the default option, "Search for the best driver in these locations", check the "Include this location in the search" checkbox, 
             and browse to the correct "driver installed location", select next.
           The "driver installed location" is the folder location supplied during the driver install wizard.  


2) UNINSTALLATION: The installed driver can be uninstalled from target computer by following one of the below methods:

a/ Method 1 - Uninstall from <Control Panel>\<Uninstall a program>

   i/ Start->Control Panel->Uninstall a program
  ii/ Select "Honeywell USB Serial Driver xxx". Click "Uninstall"
 iii/ Follow uninstallation instructions.

b/ Method 2 -- Uninstall from a command prompt

   i/ Open a Command Prompt with "elevated priviledge". Right click "Start->All Programs->Accessories->Command Prompt". 
      Select "Run as administrator".
  ii/ cd <driver install directory>
 iii/ Run setup.bat
  iv/ Follow uninstallation instructions.

c/ Method 3 -- Uninstall from Windows Explorer

(Note: This method recommended if the <driver install directory> is stored localy on target machine. Do not use
       this method if the <driver install directory> is stored in a network location)      
        
   i/ Open the <driver install directory> with Windows Explorer.
  ii/ Right click the file "setup.bat" and select "Run as administrator"
 iii/ Follow uninstallation instructions.

SILENT(NON INTERACTIVE) INSTALL/UNINSTALL (for IT/System Administrator)
=======================================================================
This driver package can also be silently installed/uninstalled if required. 
This approach should NOT be used by a normal user but rather by an IT/Administrator personel.
 
a/ Silently install the driver package on target machine
  i/ Launch a command prompt with elevated priviledge
 ii/ cd <driver install directory>
iii/ setup.bat /silent /install [/machine | /user]
      If there was not already a version of the driver installed on target machine, this driver version will be installed automatically.
      Else, no action.
      Note: For silent installation, the user now can optionally provide a third parameter for specifying whether the install is per machine or per
            current user. If the third parameter is not provided, per user install will be done.
      

b/ Silently uninstall the installed driver package on target machine
  i/ Launch a command prompt with elevated priviledge
 ii/ cd <driver install directory>
iii/ setup.bat /silent /uninstall 
      If there is a version of the driver installed on target machine, this driver version will be uninstalled automatically.
      Else, no action
      
SILENT INSTALL RETURN CODE:
0      -- SUCCESS    - Requested action executes successfully
1      -- DO NOTHING - Requested action is not executed since there is nothing to do
2      -- FAILURE    - Requested action executes with a general failure
n > 2  -- FAILURE    - Requested action executes with a specific failure code n, such as MSI failure code

The Driver Documentations will be installed on target computer under the folder location supplied 
during the driver install wizard.

1/ "HSM USB Driver SUPPORTED DEVICES.txt" -- List of all supported devices including Honeywell "in development" devices and Honeywell OEM devices.

2/ "HSM USB Serial Driver -WDReg Usage.pdf"  -- Driver installation utility. This is for customer that need to write their own
                                                installation for the driver, else normal customer will never need it.
                                               
3/ "HSM USB Serial Driver Force COM Port.pdf" -- Usage of the Driver "Force COM Port" feature.

4/ "USB SERIAL CHANGES HISTORY.pdf"         -- Enhancemences/Bugfixes.

5/ "HSM USB Serial Driver - Debug Logging.pdf" -- Instruction for enable/disable driver logging.

KNOWN ISSUES
=============

1/ When Force COM port feature is enabled, the friendly name found in device manager->ports does not have the 
(COM#) suffix immediately after installation. However, it does get added on next driver start.

2/ Blue Screen Of Death (BSOD) may occur on some devices using Windows XP SP2 when coming out of suspend mode.
This is a bug in Windows. Please download Windows XP SP3 or Windows Hot Fix 949483 to resolve.

http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=949483&kbln=en-us

3/ Fist barcode scanned on a Windows 2000 machine does not get transmitted. This is a bug in  Windows 2000
USB stack. Since Windows 2000 is at "end of life", we are not expecting Microsoft to fix this bug.

4/ Known differences between legacy Hand Held Products COM Emulation driver (hhpcdc.sys) and 
the Honeywell Scanning & Mobility (HSM) USB Serial Driver.

   a/ The Registry name under [HKLM\HARDWARE\DEVICEMAP\SERIALCOMM]\Device is different from the legacy driver.
   The old name is "HhpcdcVirtualPortx". The new name is "honeywell_cdc_AcmSerialx"
   
   b/ Application will NOT receive a WM_DEVICECHANGE notification. The driver emulates a serial COM port, which
   exists in the system even when the USB device has been detached. However, there is an open handle to this
   device. This is the difference between the legacy Handl Held Products driver and the new driver.
   The WM_DEVICECHANGE notification is received from the Device Manager when a device is created/removed.
   Because the device is not removed, the WM_DEVICECHANGE message is not generated.
   
5/ Installation of the unsigned driver on Windows XP sometimes may fail with an error of 
"TRUST_E_NOSIGNATURE". This installation error is caused by target machine does not have the latest Microsoft
root certificate installed.
Here are the steps to correct this issue:
   a/ Update the target pc with all latest updates from Windows updates
   
   b/ Reboot target machine.
   
   c/ Install the USB Serial driver.
   
NOTES:
======
1/ The Microsoft Visual C++ 2010 Redistributable Package is required for driver install and shall be installed automatically if the target pc does not already have it.


2/ Network location Install/Uninstall.
If the <driver install directory> is stored in a network location, it is recommended that you install/uninstall
the driver using the "command prompt" method, and do not use the "Windows Explorer" method.
You will need to map the network location to a Windows drive as shown in the below steps:

   a. Launch a command prompt with elevated priviledge
   b. Map the network location to a Windows local drive, say k:
     net use k: \\<share-network-computer>\<shared-folder> * /user:test
   c. Supply the password when prompted
   d. Check to make sure that the newly created network drive is good to go.
      net use
      The status should show "OK"

3/ It is recommended to copy the driver package to target pc's hard drive and run the driver installer from there instead of from a USB flash drive due to the 
instability of a flash drive file system.
      
4/ Special character in the directory path of the <driver install directory>
If you have decided to copy the <driver install directory> to directory location on the target computer
that has special character. Install/Uninstall may not work well using the "Windows Explorer" method.
It is best to use the "command prompt" method.
For example: You have a user log account as "R&D", and copy the driver package to your desktop. So the 
<driver install directory> will be at: C:\User\R&D\Desktop\<driver install directory>

Because of the special character "&" in the directory path, running anything under there from Windows Explorer will
have an issue. In this situation, it is recommended that you use the "command prompt" method.
