WiX + DIFxAPP for NDIS IM Driver

I am using WiX to install a small program for a client and I have gotten it to install all the files required, but I have a custom IM driver that is a modified Passthru driver that needs to be installed as well. I have read this post from last month (http://www.osronline.com/showthread.cfm?link=172449) where the response said that using WiX + DIFxAPP has the capability of installing the driver “quite handily” but I am still having trouble with this process. I altered the two .inf files as instructed in the post but how do I reference them in the .wxs file? I can have WiX put the netservice .inf and driver .sys in one folder and the net virtual miniport .inf in another folder but that simply places them on the machine.

So my question is how do I use DIFxAPP to actually install the driver through WiX instead of just placing the .inf and .sys files on the target system? I appreciate any and all help from you guys. Thanks in advance!

Post your INF and WIX (snippet).

Turn on MSI logging to verbose and collect a log of the installer to find
out what DIFxAPP is doing.

Set the SETUPAPI logging level to 0x0000FFFF to get the most verbose logging
in SETUPAPI.LOG (or SETUPAPI.*.LOG).

Also, what version of WIX are you using since the actual XML is different
for using DIFxAPP in Wix 3.x vs. Wix 2.x.

For WIX 3.0 (which I recommend) the XML element you need to add to each
‘component’ that contains a driver package is:

<difx:driver …></difx:driver>

If you don’t have one of those in your WIX 3.0 xml, then, DIFxAPP does not
know it is a driver component and only the file copy operations implied by
the <file …> element(s) will occur.

Good Luck,
Dave Cattley

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@hotmail.com
Sent: Tuesday, January 19, 2010 10:56 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] WiX + DIFxAPP for NDIS IM Driver

I am using WiX to install a small program for a client and I have gotten it
to install all the files required, but I have a custom IM driver that is a
modified Passthru driver that needs to be installed as well. I have read
this post from last month
(http://www.osronline.com/showthread.cfm?link=172449) where the response
said that using WiX + DIFxAPP has the capability of installing the driver
“quite handily” but I am still having trouble with this process. I altered
the two .inf files as instructed in the post but how do I reference them in
the .wxs file? I can have WiX put the netservice .inf and driver .sys in
one folder and the net virtual miniport .inf in another folder but that
simply places them on the machine.

So my question is how do I use DIFxAPP to actually install the driver
through WiX instead of just placing the .inf and .sys files on the target
system? I appreciate any and all help from you guys. Thanks in advance!


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Hi,

So my question is how do I use DIFxAPP to actually install the driver
through WiX instead of just placing the .inf and .sys files on the target
system? I appreciate any and all help from you guys.
DIFx actually comes with the respective WiX libraries, which seem to be WiX 2.0.x though. However, I’ve had problems with newer WiX versions and newest DIFx versions that I haven’t been able to completely track down. Can you specify which versions you’re using?

// Oliver

DDKWizard and DDKBUILD: http:

Trunk (potentially unstable) version: http:</http:></http:>

Right now I am just trying to get the original passthru driver working so here is the version section of the netsf.inf file…


[Version]
Signature = “$Windows NT$”
Class = NetService
ClassGUID = {4D36E974-E325-11CE-BFC1-08002BE10318}
Provider = %Msft%
DriverVer = 10/01/2002,6.0.5019.0
DriverPackageType = Network

and here is the netsf_m.inf version section…


[Version]
signature = “$Windows NT$”
Class = Net
ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider = %Msft%
DriverVer = 10/01/2002,6.0.5019.0
DriverPackageType = NdisIMMiniport

I am using the WiX toolset 3.0 and while I am unsure what version of DIFxAPP, it came with the installation of WiX as you said Oliver. Here is my .wxs snippet…






















Hopefully it is not too obvious by looking at the code but I am actually brand new to WiX as well, so any pointers on cleaning up the XML would be appreciated as well. (This snippet is obviously before I implemented David’s suggestion). Thanks again for your quick responses.

INFs seem fine. WIX is missing the tags required to make it a DIFxAPP
installer. The WIX file below will only copy files.

If you search the archive of this list, you will find a posting by James
Harper

http://www.osronline.com/showThread.cfm?link=168822

Where James graciously points to his WIX installer source code. I suggest
you avail yourself of the opportunity to see a ‘full-up’ sample of how
device installs can be built with WIX.

I believe also that a white paper is still available from MSFT which
discusses the virtues & techniques of WIX based device install.

http://download.microsoft.com/download/0/3/d/03d952c2-f0b9-4704-aa86-c233fa8
92d69/Egenera_SSI_Final_10-3-05.doc

The WDK also has a sample but it is rudimentary and uses WIX 2.0. The WIX
3.0 tools in my opinion are easier to work with.

Good Luck,
Dave Cattley

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@hotmail.com
Sent: Tuesday, January 19, 2010 2:00 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] WiX + DIFxAPP for NDIS IM Driver

Right now I am just trying to get the original passthru driver working so
here is the version section of the netsf.inf file…


[Version]
Signature = “$Windows NT$”
Class = NetService
ClassGUID = {4D36E974-E325-11CE-BFC1-08002BE10318}
Provider = %Msft%
DriverVer = 10/01/2002,6.0.5019.0
DriverPackageType = Network

and here is the netsf_m.inf version section…


[Version]
signature = “$Windows NT$”
Class = Net
ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider = %Msft%
DriverVer = 10/01/2002,6.0.5019.0
DriverPackageType = NdisIMMiniport

I am using the WiX toolset 3.0 and while I am unsure what version of
DIFxAPP, it came with the installation of WiX as you said Oliver. Here is
my .wxs snippet…





Guid=‘DE0E6DAD-65B5-480E-8CFD-EFFAF91E86E6’>
DiskId=‘1’ Source=‘Files/netsf.inf’ KeyPath=‘yes’ />

Guid=‘ECA58FB8-301C-43E2-B76F-EF4400B4DC62’>
Name=‘passthru.sys’ DiskId=‘1’ Source=‘Files/passthru.sys’ KeyPath=‘yes’ />



Guid=‘0FA27339-98B8-4705-93CE-E9C698371DEA’>
Name=‘netsf_m.inf’ DiskId=‘1’ Source=‘Files/netsf_m.inf’ KeyPath=‘yes’ />


Guid=‘98A41CE8-0A96-4C5B-A17A-0DC980C93074’>
DiskId=‘1’ Source=‘Files/readme.txt’ KeyPath=‘yes’ />



Hopefully it is not too obvious by looking at the code but I am actually
brand new to WiX as well, so any pointers on cleaning up the XML would be
appreciated as well. (This snippet is obviously before I implemented
David’s suggestion). Thanks again for your quick responses.


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Thank you. I will look into these articles and hopefully I will get it worked out. Thanks for doing the leg-work for me!

Thank Mr. Harper. He did the legwork and published it.

Cheers,
Dave Cattley

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@hotmail.com
Sent: Tuesday, January 19, 2010 2:51 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] WiX + DIFxAPP for NDIS IM Driver

Thank you. I will look into these articles and hopefully I will get it
worked out. Thanks for doing the leg-work for me!


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

On Tue, 19 Jan 2010 13:59:31 -0500 (EST)
xxxxx@hotmail.com wrote:

Hopefully it is not too obvious by looking at the code but I am
actually brand new to WiX as well, so any pointers on cleaning up the
XML would be appreciated as well. (This snippet is obviously before
I implemented David’s suggestion). Thanks again for your quick
responses.

I’ve spent some time recently improving a WiX-based installer I took
maintainership of, including splitting it up using component groups,
which I think increases readability - though the groupings could
be further improved. All the files can be
seen at http://www.bluestop.org/viewvc/repos/sctpDrv/wix/

I learned a lot from reading
http://stackoverflow.com/questions/471424/wix-tricks-and-best-practices,
which has some really useful information about including config files
and using component groups.


Bruce Cran