Windows device driver installs

Posted on 19 October 2008

There used to be quite a bit of pain involved in creating a robust installation process for a multi-architecture device driver (x86, x64, IA64).  But things have advanced over the years and I feel compelled to recommend my favorite; WiX plus DPInst.

WiX or Windows Installer XML (WiX) tool-set is a great open source project which provides a clean and clear way of generating MSI databases using XML to define the installation components and user interactions.  It does a very good job but does take a little time to learn.  I prefer it to the all of the commercial Wizard based tools because I write code.  I don’t use wizards.  It is also much easier to debug than any other tool I’ve used.  It is easy to correlate the setupapi.log entries with what you’ve declared in your XML and there is a very active mailing list with lots of helpful folks responding to your questions.  I recommend it for any installation development project.

I use WiX in conjunction with DPInst to create short, simple, robust, and reliable installs for device drivers.  So do many other people (this has caught on).  I highly recommend both.  If you’re creating installations for device drivers just please use DPInst.  It will save you so much hassle.  Even if you have to interesting things after you’re driver is installed such as rebuilding driver stacks for supported devices, let DPInst install the driver(s) and then do your extra work after that in a DLL you can invoke from WiX.  The DLL will run inside the Windows Installer process so it will have the proper access to get your extra tasks accomplished.  Now, safely rolling those back if something fails is a bit tricky, but hey, you don’t have bugs in your code, so don’t worry ;-).


No responses yet. You could be the first!

Leave a Response

You must be logged in to post a comment.

Recent Posts

Tag Cloud

Meta

Proficient Solutions, Inc. (soon to be R3Ware) is proudly powered by WordPress and the SubtleFlux theme.

Copyright © Proficient Solutions, Inc. (soon to be R3Ware).