Jump to content

As of July 17, 2015, the LabJack forums here at forums.labjack.com are shut down. New registrations, topics, and replies are disabled. All forums are in a read-only state for archive purposes.

Please visit our current forums at labjack.com/forums to view and make new posts. To post on the current forums, use your labjack.com login account. Your old LabJack forums login credentials have been retired. There are no longer separate logins for labjack.com and LabJack forums.


Windows Installer Merge Module

Windows Installer Merge Modul

  • Please log in to reply
3 replies to this topic

#1 paul_ds

  • Members
  • 7 posts

Posted 19 September 2014 - 01:42 AM

I’ve developed a C++ application for the U6 device using Visual Studio. I need to distribute the application via a Windows Installer package. Can you supply a Windows Installer Merge Module, which includes the necessary drivers for the U6? If not, could you provide me with a list of files that I need to include in the Windows Installer?
Many thanks, Paul

#2 LabJack Support

LabJack Support
  • Admin
  • 8677 posts

Posted 19 September 2014 - 04:21 PM

We use NSIS for our installers and thus do not have a merge module.  However, we do have a driver only version which can be found here.  That version contains the software libraries & driver necessary to communicate with a LabJack but without the extra programs and things.


If that installer doesn't work for you, there are only a couple necessary components.


First, you need the LabJackUD.dll and LabJackWUSB.dll files.  There are 32-bit and 64-bit versions of these.  A 32-bit system only needs the 32-bit.  A 64-bit system can use both/either depending what your program is.  On a 64-bit system they go in C:\windows\System32 for the 64-bit versions and C:\windows\SysWOW64 for the 32-bit versions.  You should install the version that matches whatever your application is compiled for.  These .dlls statically link to the Visual Studio runtime, so no other dependencies should be necessary.


The next part is the actual driver itself.  If you run our installer and look in the Drivers folder where the LabJack folder exists, you should see a folder called Install.  This contains two more folders, a 32-bit version (x86) and a 64-bit version(a64).  These contain the .inf files and other info necessary to install the hardware on the system.  The version used must match the OS.  Thus 32-bit versions of Windows need the x86 version and the 64-bit version need the a64 version. 


One way to install those is just to copy them over to the system somewhere, attach a U6 via USB and then when the new hardware dialog pops up, point it to the location with the appropriate folder.  If you want to automate that process you can run the dpinst*.exe found in that folder which can take care of that process so the LabJack is found the first time it is attached without any manual steps.  Our installer runs them with the "/c /sa /f /lm /sw /PATH $PATH_TO_FOLDER_WHERE_INFS_ARE" flags to make this happen in the background.  If you are doing a Windows Installer package I believe there are other ways to install a driver/inf that you can use.


Those should be the only necessary components.  However, if you happen to be using Managed C++ (i.e. .NET) then you also need the LJUDDotNet.dll assembly (if you are using it) which can also be found in the Drivers folder.  That must be put into the GAC (Global Assembly Cache) which we again have a .exe to simplify the process.  That is the InstallLJNet.exe and the only parameter is the path to the LJUDDotNet.dll file.


If you have any questions about this or want any more info please let us know.

#3 paul_ds

  • Members
  • 7 posts

Posted 21 September 2014 - 01:28 AM

Thanks for the info.
I’m using the OEM version of the U6. Is it possible to change the LabJack driver name (as it appears in Windows Device Manager) to the name of our product?

#4 LabJack Support

LabJack Support
  • Admin
  • 8677 posts

Posted 23 September 2014 - 03:40 PM

The names in the Device Manager all come from the INF file.  You can find those files (one for 32-bit (x86) and one for 64-bit (a64) systems) in the LabJack\Drivers\Install folder where the software was installed.  At the bottom of those .INF files (they are just text based) is a set of strings which are used to identify the hardware in the Device Manager. 


If you change those strings (then change the date & version number at the top of the file so Windows knows it is newer) and run the dpinst*.exe program in the same folder, it should use the new .inf settings and show up differently.  You can also, in device manager, right click the LabJack, select "Update driver" and then point it to the location of the new .inf file.


If you run into any trouble with this let us know.  Sometimes it can be hard to get Windows to change settings like that if it already has something to use (though on a fresh system it should work).

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users