Regarding how to use the DifxExtension if you have the driver files, create a
msi which installs the drivers files to a cache location.  (At that point
you, in general for any driver prior to using the DifxApi, you should be
able to right click on the INF file and see the driver successfully install. 
If you can't accomplish that step there is no point in authoring the DifxExt
yet IMO.)  Also for my drivers which support both x86 and x64, I structured
the msi to be build twice in either configuration, installing all files,
because of signing, to either the appropriate programfiles tree.  Then add
the DifxExt schema to the wxs file which contains the INF file component,
and add the difx:Driver element to the component which has the INF file. 
(I'm sure there may be other approaches.)
http://www.codeproject.com/Articles/44191/Drivers-Installation-With-WiX

Regarding the printer driver and configuring for 'print-to-file', I am
working on a similar requirement.  I found that I could not use the
DifxExtension for this purpose.  I will later also work on a project that
requires the printer driver to be installed for PNP connection of of the
printer device, and based on preliminary testing I think the DifxApp
extension may work in that situation.  I have three different printer
drivers (six platform variants), which I deliver as part of my suite.  For
this project each is configured for 'print-to-file'.  One of the drivers is
based on an HP engine (and includes the HP driver).  Yes you could implement
a CA to call the AddPrinter, and related Print Spooler api functions which
you will also need.  (I created a setup application used in a non-wix
process some time ago which takes that approach.)  However the approach I
have settled on is to call the PrintUI dll.
http://technet.microsoft.com/en-us/library/ee624057.aspx

Both AddPrinter (and related functions) and the PrintUI dll docs warn that
the calls may bock, but I decided that using PrintUI which is well tested,
is more reliable than me rolling my own setup application and maintaining
changes over time.  I am working on an extension which is not ready to be
submitted back to the community yet, but I know that this approach can be
achieved.  (I originally implemented the approach as a custom table driven
CA, while I also worked on issues getting even sample extension code to
compile.)

When I tried to first call Difxapp Extension and then call PrintUI in the
same Component/msi, it always fails.     I had to abandon calling DifxAPP
(Ext).  While DifxAPP is the recommended approach in many situations, it is
not intended to be used in some scenarios.  In an earlier non-wix setup I
have called DifxAPI to put the driver in the Driver Store and then PrintUI
to install the driver and configure as 'print-to-file' which has been a
reliable approach for years.  There also in a non-msi setup, the DifxAPP was
not useful.  I have not implemented anything to call DifxApi in wix yet, but
I plan too.  All of my drivers are fully signed PNP drivers which have been
deployed for years (and are not open for changes related to this wix
project).

Additional reading:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Strange-problem-with-printer-driver-installation-td7591538.html



--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Installing-HP-LaserJet-4-Printer-Driver-on-FILE-instead-of-LPT1-tp7593244p7593283.html
Sent from the wix-users mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to