2
votes

I have created an application in C# that relies on a specific driver (a custom virtual hid driver based on VMulti).

Currently, I have everything working and I want to combine both the application and driver into one installation package. As of right now, my application part has a .exe file and a .dll file. My driver has an .inf and .sys file, hidkmdf.sys, and WdfCoInstaller01009.dll (this dll is from the WDK). I am not able to install the driver through the traditional method of right-clicking the inf and clicking install. Instead, I use devcon to install it (command is "install inffile.inf hardwareid")

I tried using InstallShield LE, but I am only able to install the application, not the driver. After doing some searching, I found people using DIFxAPP to create the installation framework for drivers, however, I am not sure if this can be integrated into InstallShield so that the driver is installed during the application installation process.

So my main question is: What is the best and simplest method for combining application and driver installation into one package (meaning the setup.exe will install both the driver and the application)?

I am very new to driver development and application deployment, so any suggestions are welcome.

Thank You

EDIT: It is preferred that the solution does not require any paid tools.

1

1 Answers

3
votes

Acctually, exists a many ways to implement this which depends on your Windows Installers skills.
You didn't specify target OSes for your application, that's why can I give you some ways:

  1. PnpUtil.exe internal Windows 7 utility (only for Windows 7)
  2. DPInst.exe included to WDK
  3. DifXAPI merge module.

You can install drivers with help of all these utils via Custom Actions.

NOTE: That your driver SHOULD BE signed, otherwise you will receive error during silent installation.