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