Driver installation with WiX?

Throughout my development cycle I have just been using devcon to install my drivers and now I’m evaluating different installation methods for production. I have WiX v3 installed and the Votive add-in for Visual Studio. I’m understanding the fundamentals of using WiX to stick files in specific locations and so forth. However, I’m not understanding how to use the DifxApp stuff within WiX.

I have 4 drivers that I want to install. I’d like to figure out how to get just one to install. I haven’t found any good documentation regarding how to do this and was curious if anyone around here had any advice.

The example I’m basing my WiX installation from (C:\WINDDK\7600.16385.0\src\setup\DIFxApp\WixLib) doesn’t seem to build. I’m getting errors about DriverForceInstall and DriverSequence attributes unexpected. I’m confused as to what references to add to bring in the DifxApp stuff. The WINDDK has .wixlibs in the redist folders, and WiX has it’s own difxapp_x86.wixlib in its bin folder.

Anyhow, if anybody has any information that would help I’d greatly appreciate it. I’d also like to here what you use for production driver installation.

Thanks folks!

>

Throughout my development cycle I have just been using devcon to
install my
drivers and now I’m evaluating different installation methods for
production.
I have WiX v3 installed and the Votive add-in for Visual Studio. I’m
understanding the fundamentals of using WiX to stick files in specific
locations and so forth. However, I’m not understanding how to use the
DifxApp
stuff within WiX.

I have 4 drivers that I want to install. I’d like to figure out how
to get
just one to install. I haven’t found any good documentation regarding
how to
do this and was curious if anyone around here had any advice.

The example I’m basing my WiX installation from
(C:\WINDDK\7600.16385.0\src\setup\DIFxApp\WixLib) doesn’t seem to
build. I’m
getting errors about DriverForceInstall and DriverSequence attributes
unexpected. I’m confused as to what references to add to bring in the
DifxApp
stuff. The WINDDK has .wixlibs in the redist folders, and WiX has
it’s own
difxapp_x86.wixlib in its bin folder.

Anyhow, if anybody has any information that would help I’d greatly
appreciate
it. I’d also like to here what you use for production driver
installation.

The installer for my Xen drivers uses WiX. You can view the WXS file at:

http://xenbits.xensource.com/ext/win-pvdrivers.hg?file/c548d9eb5107/inst
aller.wxs

It installs 5 drivers using the wix difx extension.

James

FANTASTIC!!!

Thank you so kindly. The secret sauce for me was adding xmlns:difx=‘http://schemas.microsoft.com/wix/DifxAppExtension

I linked in both difxapp_x86.wixlib and WixDifxAppExtension.dll from C:\Program Files\Windows Installer XML v3\bin\

That seemed to have worked.

Do you have any suggestions for directory structure that would facilitate creating the fewest msi installers for making installers for all OSes and architectures that the WDK supports? I can see a 1000 ways to skin this cat, and would love to learn from others mistakes before I go off on a wild goose chase.

>

FANTASTIC!!!

Thank you so kindly. The secret sauce for me was adding
xmlns:difx=‘http://schemas.microsoft.com/wix/DifxAppExtension

I linked in both difxapp_x86.wixlib and WixDifxAppExtension.dll from
C:\Program Files\Windows Installer XML v3\bin\

That seemed to have worked.

Do you have any suggestions for directory structure that would
facilitate
creating the fewest msi installers for making installers for all OSes
and
architectures that the WDK supports? I can see a 1000 ways to skin
this cat,
and would love to learn from others mistakes before I go off on a wild
goose
chase.

I create an installer per arch per OS flavour… it may be possible to
roll it all into one but I didn’t go down that path.

James

James Harper wrote:

>
> Do you have any suggestions for directory structure that would
> facilitate creating the fewest msi installers for making installers
> for all OSes and architectures that the WDK supports? I can see
> a 1000 ways to skin this cat, and would love to learn from others
> mistakes before I go off on a wild goose chase.

I create an installer per arch per OS flavour… it may be possible to
roll it all into one but I didn’t go down that path.

An installer per arch is enough in my case, since one driver binary
works on all supported OSes. I think his can often be the case unless
you really need to use features which only exist in some OSes.

>

James Harper wrote:

>>
>> Do you have any suggestions for directory structure that would
>> facilitate creating the fewest msi installers for making installers
>> for all OSes and architectures that the WDK supports? I can see
>> a 1000 ways to skin this cat, and would love to learn from others
>> mistakes before I go off on a wild goose chase.
>
> I create an installer per arch per OS flavour… it may be possible
to
> roll it all into one but I didn’t go down that path.

An installer per arch is enough in my case, since one driver binary
works on all supported OSes. I think his can often be the case unless
you really need to use features which only exist in some OSes.

Probably best to split per arch anyway, especially you need the wdf
coinstaller. Better I think to have two big installers than one huge one
:slight_smile:

James