Thursday, July 05, 2012

Creating a Device driver based package in Installshield

It is very easy and simle to create a device driver based application from Installshield.
I am using Installshield 2012.

You need to make sure that the driver is a signed driver. If the driver is not signed, then you need to sign the driver first. It is good to have your driver signed, but you can install and unsigned driver as well. Check an option later.

Go to Installshield Wizard in Installation Designer and click on Project button on top an then Device Driver wizard.

Click Next ->

Select the path to your .inf file on your machine. Choose the system architecture. I am choosing x64 as I am packaging for 64 bit machines.

Click Next-> Next->

Select the options as per your requirement. I have chosen the above ones.

Click Next->

Click Next->

You will get the summary and then click on Finish.

It will add the settings in your component of INF file.

Hope this helps you create device driver easily with Installshield.


Pieter Jan Geutjens said...

Good step-by-step guide, but knowing the reason why you created it, can I play devil's advocate and state that sometimes people should just dive into these kinds of wizards and using the F1 button, figure them out for themselves?

Let me repeat though that this is no snide on your guide in itself. Just me venting some frustration. Maybe a good topic for a separate discussion :)

Piyush Nasa said...

Yeah Pieter, I wanted to somehow show him step by step guide and there was no way to post it on ITNinja so I created a post here for others benefit as well.
Like even I didn't know it 6 months back that it is so easy to create Device driver package through Installshield because no one told me and I used to do it in proper way with WISE package Studio. suddenly I shifted to InstallShield and then how would I know that there is a way.
If someone comes across this atleast they will know that there is a way..

Anonymous said...

Thanks Mate... but just wondering, can we install unsigned drivers in 64-bit version of windows... my understanding is that the Kernel Mode Code Signing policy will not allow it...

Piyush Nasa said...

I did say that signing the drivers is the best way, but yes, you can install Unsigned drivers on 64-bit Windows 7.
You can change the group policy of your machines to allow unsigned drivers to install.

Follow these steps to disable driver signing using the Group Policy Editor.

Hit the Win+R keys together to open the run dialog. Type gpedit.msc to open the local groups policy editor.

Expand ‘Administrative Templates’ (it’s under ‘User Configuration’). Expand ‘System’. Click ‘Driver Installation’.

In the right panel, double click on ‘Code Signing for Device Drivers’.

Choose ‘Enabled’ in the window that appears. In the underlying options, choose ‘Ignore’. This disables drivers signing in Windows 7, and now you can install unsigned drivers in Windows 7.

Click Apply.Restart your computer to install unsigned drivers.


Anonymous said...

I'm not so sure that your driver signing policy works on x64 for all drivers.

Kernel mode drivers, notably, are something that in the past we've had to sign ourselves.

Janey said...

I just had my Installshield downloaded, and now I'm trying to figure out how to make everything else work with it. How do I know if the driver is a signed driver? What's the difference between a signed and unsigned driver?

Piyush Nasa said...

When you install the driver, it will tell you if it is not signed and a prompt will come.
Signed drivers are certified that they are free of any malware and will function correctly with windows, while there is no such guarantee with Unsigned drivers.

Vysakh said...

Hi piyush, I'm using InstallShield 2013. Here 'Device Driver Wizard' is disabled in Project tab. It is an InstallScript project. Can you guess the exact problem.?

Piyush Nasa said...

Do you have a licensed full product? You will need to check in your settings or will Installshield.

Vysakh said...

Yes. The product is licensed. I think 'Device Driver Wizard' does not enable on InstallScript project. Could you suggest some more alternative ways to do this..

Piyush Nasa said...

It should be an installshield product. Other alternatives are to use Diffx Merge module or DPInst.exe
there is enough stuff on internet for this.