Discussion:
[WiX-users] Driver Issue
Michael Ogilvie
2014-06-10 20:05:06 UTC
Permalink
Hello,



We have switched from a Script based installer (INNO) to WIX.



v8 of our installers is based on INNO and v9 of our installers is based
on WIX.



If I uninstall v8 and then install v9, not all of the drivers seem to be
installed correctly.

If I do a repair to v9, everything installs correctly and I can use our
devices.
Phill Hogland
2014-06-11 12:51:40 UTC
Permalink
DIFXAPP: INFO: No matching devices found in INF
"C:\Windows\System32\DriverStore\FileRepository\pxlgevndis6.inf_amd64_ne
utral_fe3715a4af78ac12\PxLGevNdis6.inf" on the Machine.

I would configure the target system to generate a verbose setupapi log, and
study both (msi and setupapi.dev.log) verbose logs. Also the system tool
pnputil.exe is helpful to check which drivers are in the driver store, etc,
prior and after doing the install.

http://msdn.microsoft.com/en-us/library/windows/hardware/ff550808(v=vs.85).aspx

While converting printer drivers from DifxAPI (InstallScript) installer to
DifxAPP (WIX) I ran into several issues. One thing that I recall related to
'No matching devices found in INF' was that the Product/@Manufacture must
match the Manufacture name in the INF file. This seems to be an
implementation detail of the DifxAppExtension. (The Package/@Manufacture
does not need to be the same.)

We have several drivers developed by different groups over time. In one
case the INF has 'Company' and in another case the INF has 'Company
Corporation', or some other variant. The drivers are signed and deployed so
they cannot be changed. I packaged each driver in a separate MSI, so that I
could set Product/@Manufacture appropriately for that driver. I then use a
Bundle Chain to deploy the various MSI packages.

There may be other reasons why there was no match for your hardware, which
is where the setupapi.dev.log file in <WindowsFolder>\Inf will be helpful.




--
View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Driver-Issue-tp7595156p7595167.html
Sent from the wix-users mailing list archive at Nabble.com.
Michael Ogilvie
2014-06-11 14:23:04 UTC
Permalink
Thanks Phill,

The Product\manufacture name and INF Manufacture name do match so that
is not the issue.

The two drivers that seem to have the issue are the USB and FW but as I
said the strange thing is, if I do a repair with the same install
everything installs fine.

Looking at the setupapi.dev.log I see the install of my other two
drivers but nothing for the USB2.0 or FW.

If I run the PnPUtil.exe -i -a PxlUSB.inf , it installs fine and I see
the proper OEM*.inf file

Here is the specific MSI log:

DIFXAPP: ENTER: ProcessDriverPackages()
DIFXAPP: INFO: 'Component' is
'USBx64.7812CBB9_7D06_4231_88CB_CE08A2CC5813'
DIFXAPP: INFO: Component state 0x2 -> 0x3
DIFXAPP: INFO: 'ComponentId' is {B642DEB7-E775-4379-9739-AF3E66DF2023}
DIFXAPP: INFO: 'Flags' is 31
DIFXAPP: INFO: component path is C:\Program Files
(x86)\PixeLINK\Install\USBx64\
DIFXAPP: INFO: user SID of user performing the install is
'S-1-5-21-2843652417-219146766-539197311-1006'.
MSI (s) (FC!4C) [07:02:22:232]: PROPERTY CHANGE: Adding
MsiRollbackInstall property. Its value is
'2.12{B642DEB7-E775-4379-9739-AF3E66DF2023}312Camera
DriversPixeLINK'.
MSI (s) (FC!4C) [07:02:22:232]: Doing action: MsiRollbackInstall
MSI (s) (FC!4C) [07:02:22:232]: Note: 1: 2205 2: 3: ActionText
DIFXAPP: INFO: creating
HKEY_USERS\S-1-5-21-2843652417-219146766-539197311-1006\Software\Microso
ft\Windows\CurrentVersion\DIFxApp\Components\{B642DEB7-E775-4379-9739-AF
3E66DF2023} (User's SID: 'S-1-5-21-2843652417-219146766-539197311-1006')
...
Action start 7:02:22: MsiRollbackInstall.
MSI (s) (FC!4C) [07:02:22:237]: PROPERTY CHANGE: Adding
MsiInstallDrivers property. Its value is
'2.12{B642DEB7-E775-4379-9739-AF3E66DF2023}C:\Program Files
(x86)\PixeLINK\Install\USBx64\312Camera DriversPixeLINK'.
MSI (s) (FC!4C) [07:02:22:237]: Doing action: MsiInstallDrivers
MSI (s) (FC!4C) [07:02:22:237]: Note: 1: 2205 2: 3: ActionText
Action ended 7:02:22: MsiRollbackInstall. Return value 1.
Action start 7:02:22: MsiInstallDrivers.
Action ended 7:02:22: MsiInstallDrivers. Return value 1.


DIFXAPP: ENTER: InstallDriverPackages()
DIFXAPP: INFO: 'CustomActionData' property 'DIFxApp Version' is '2.1'.
DIFXAPP: INFO: 'CustomActionData' property 'UI Level' is '2'.
DIFXAPP: INFO: 'CustomActionData' property 'componentId' is
'{B642DEB7-E775-4379-9739-AF3E66DF2023}'.
DIFXAPP: INFO: 'CustomActionData' property 'componentPath' is
'C:\Program Files (x86)\PixeLINK\Install\USBx64\'.
DIFXAPP: INFO: 'CustomActionData' property 'flags' is 0x1F.
DIFXAPP: INFO: 'CustomActionData' property 'installState' is '2'.
DIFXAPP: INFO: 'CustomActionData' property 'ProductName' is 'Camera
Drivers'.
DIFXAPP: INFO: 'CustomActionData' property 'ManufacturerName' is
'PixeLINK'.
DIFXAPP: INFO: user SID of user performing the install is
'S-1-5-21-2843652417-219146766-539197311-1006'.
DIFXAPP: INFO: opening
HKEY_USERS\S-1-5-21-2843652417-219146766-539197311-1006\Software\Microso
ft\Windows\CurrentVersion\DIFxApp\Components\{B642DEB7-E775-4379-9739-AF
3E66DF2023} (User's SID: 'S-1-5-21-2843652417-219146766-539197311-1006')
...
DIFXAPP: INFO: ENTER: DriverPackageInstallW
DIFXAPP: WARNING:DRIVER_PACKAGE_LEGACY_MODE flag set but not supported
on Plug and Play driver on VISTA. Flag will be ignored.
DIFXAPP: INFO: Installing INF file 'C:\Program Files
(x86)\PixeLINK\Install\USBx64\PxLUSB.inf' (Plug and Play).
DIFXAPP: INFO: Looking for Model Section ...
DIFXAPP: INFO: No matching devices found in INF
"C:\Windows\System32\DriverStore\FileRepository\pxlusb.inf_amd64_neutral
_1642e851eb6a4a8a\pxlusb.inf" on the Machine.
DIFXAPP: INFO: No drivers installed. No devices found that match
driver(s) contained in
'C:\Windows\System32\DriverStore\FileRepository\pxlusb.inf_amd64_neutral
_1642e851eb6a4a8a\pxlusb.inf'.
DIFXAPP: INFO: RETURN: DriverPackageInstallW (0xE000020B)
DIFXAPP: INFO: The device(s) for which the driver is being installed has
not been plugged into the computer.
DIFXAPP: INFO: ENTER: DriverPackageGetPathW
DIFXAPP: INFO: RETURN: DriverPackageGetPathW (0x7A)
DIFXAPP: INFO: ENTER: DriverPackageGetPathW
DIFXAPP: INFO: RETURN: DriverPackageGetPathW (0x0)
DIFXAPP: INFO: driver store entry for 'C:\Program Files
(x86)\PixeLINK\Install\USBx64\PxLUSB.inf' is
'C:\Windows\System32\DriverStore\FileRepository\pxlusb.inf_amd64_neutral
_1642e851eb6a4a8a\pxlusb.inf'.
DIFXAPP: INFO: The component Id '{B642DEB7-E775-4379-9739-AF3E66DF2023}'
is now set to point to driver store:
'C:\Windows\System32\DriverStore\FileRepository\pxlusb.inf_amd64_neutral
_1642e851eb6a4a8a\pxlusb.inf'
DIFXAPP: INFO: A reboot is not needed to install the component
'{B642DEB7-E775-4379-9739-AF3E66DF2023}'.
MSI (s) (FC:5C) [07:02:22:912]: Executing op:
ActionStart(Name=MsiRollbackInstall,,)
DIFXAPP: RETURN: InstallDriverPackages() 0 (0x0)
MSI (s) (FC:5C) [07:02:22:912]: Executing op:
CustomActionSchedule(Action=MsiRollbackInstall,ActionType=3329,Source=Bi
naryData,Target=RollbackInstall,CustomActionData=2.12{1464D187-0988-45
7A-91EE-36945AFD9347}312Camera DriversPixeLINK)
MSI (s) (FC:5C) [07:02:22:917]: Executing op:
ActionStart(Name=MsiInstallDrivers,,)
MSI (s) (FC:5C) [07:02:22:917]: Executing op:
CustomActionSchedule(Action=MsiInstallDrivers,ActionType=3073,Source=Bin
aryData,Target=InstallDriverPackages,CustomActionData=2.12{1464D187-09
88-457A-91EE-36945AFD9347}C:\Program Files
(x86)\PixeLINK\Install\FWx64\312Camera DriversPixeLINK)
MSI (s) (FC:DC) [07:02:22:917]: Invoking remote custom action. DLL:
C:\Windows\Installer\MSIBFF1.tmp, Entrypoint: InstallDriverPackages


----------------------------------------------------

Michael Ogilvie




-----Original Message-----
From: Phill Hogland [mailto:***@rimage.com]
Sent: Wednesday, June 11, 2014 8:52 AM
To: wix-***@lists.sourceforge.net
Subject: Re: [WiX-users] Driver Issue
DIFXAPP: INFO: No matching devices found in INF
"C:\Windows\System32\DriverStore\FileRepository\pxlgevndis6.inf_amd64_ne
utral_fe3715a4af78ac12\PxLGevNdis6.inf" on the Machine.

I would configure the target system to generate a verbose setupapi log,
and study both (msi and setupapi.dev.log) verbose logs. Also the system
tool pnputil.exe is helpful to check which drivers are in the driver
store, etc, prior and after doing the install.

http://msdn.microsoft.com/en-us/library/windows/hardware/ff550808(v=vs.8
5).aspx

While converting printer drivers from DifxAPI (InstallScript) installer
to DifxAPP (WIX) I ran into several issues. One thing that I recall
related to 'No matching devices found in INF' was that the
Product/@Manufacture must match the Manufacture name in the INF file.
This seems to be an implementation detail of the DifxAppExtension. (The
Package/@Manufacture does not need to be the same.)

We have several drivers developed by different groups over time. In one
case the INF has 'Company' and in another case the INF has 'Company
Corporation', or some other variant. The drivers are signed and
deployed so they cannot be changed. I packaged each driver in a
separate MSI, so that I could set Product/@Manufacture appropriately for
that driver. I then use a Bundle Chain to deploy the various MSI
packages.

There may be other reasons why there was no match for your hardware,
which is where the setupapi.dev.log file in <WindowsFolder>\Inf will be
helpful.




--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Driver-Iss
ue-tp7595156p7595167.html
Sent from the wix-users mailing list archive at Nabble.com.

------------------------------------------------------------------------
------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk
Solutions Find What Matters Most in Your Big Data with HPCC Systems Open
Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
Carter Young
2014-06-11 14:54:04 UTC
Permalink
Note 1: Error 2205:
2205
Database: [2]. Table does not exist: [3].

[2] = Install Database Name
[3] = Table Name

See http://msdn.microsoft.com/en-us/library/aa372835.aspx

If an Upgrade/Repair option always works, my hunch is that Table [3]
is created during the Repair, but not during a fresh install.

Carter
Post by Michael Ogilvie
Thanks Phill,
The Product\manufacture name and INF Manufacture name do match so that
is not the issue.
The two drivers that seem to have the issue are the USB and FW but as I
said the strange thing is, if I do a repair with the same install
everything installs fine.
Looking at the setupapi.dev.log I see the install of my other two
drivers but nothing for the USB2.0 or FW.
If I run the PnPUtil.exe -i -a PxlUSB.inf , it installs fine and I see
the proper OEM*.inf file
DIFXAPP: ENTER: ProcessDriverPackages()
DIFXAPP: INFO: 'Component' is
'USBx64.7812CBB9_7D06_4231_88CB_CE08A2CC5813'
DIFXAPP: INFO: Component state 0x2 -> 0x3
DIFXAPP: INFO: 'ComponentId' is {B642DEB7-E775-4379-9739-AF3E66DF2023}
DIFXAPP: INFO: 'Flags' is 31
DIFXAPP: INFO: component path is C:\Program Files
(x86)\PixeLINK\Install\USBx64\
DIFXAPP: INFO: user SID of user performing the install is
'S-1-5-21-2843652417-219146766-539197311-1006'.
MSI (s) (FC!4C) [07:02:22:232]: PROPERTY CHANGE: Adding
MsiRollbackInstall property. Its value is
'2.12{B642DEB7-E775-4379-9739-AF3E66DF2023}312Camera
DriversPixeLINK'.
MSI (s) (FC!4C) [07:02:22:232]: Doing action: MsiRollbackInstall
MSI (s) (FC!4C) [07:02:22:232]: Note: 1: 2205 2: 3: ActionText
DIFXAPP: INFO: creating
HKEY_USERS\S-1-5-21-2843652417-219146766-539197311-1006\Software\Microso
ft\Windows\CurrentVersion\DIFxApp\Components\{B642DEB7-E775-4379-9739-AF
3E66DF2023} (User's SID: 'S-1-5-21-2843652417-219146766-539197311-1006')
...
Action start 7:02:22: MsiRollbackInstall.
MSI (s) (FC!4C) [07:02:22:237]: PROPERTY CHANGE: Adding
MsiInstallDrivers property. Its value is
'2.12{B642DEB7-E775-4379-9739-AF3E66DF2023}C:\Program Files
(x86)\PixeLINK\Install\USBx64\312Camera DriversPixeLINK'.
MSI (s) (FC!4C) [07:02:22:237]: Doing action: MsiInstallDrivers
MSI (s) (FC!4C) [07:02:22:237]: Note: 1: 2205 2: 3: ActionText
Action ended 7:02:22: MsiRollbackInstall. Return value 1.
Action start 7:02:22: MsiInstallDrivers.
Action ended 7:02:22: MsiInstallDrivers. Return value 1.
DIFXAPP: ENTER: InstallDriverPackages()
DIFXAPP: INFO: 'CustomActionData' property 'DIFxApp Version' is '2.1'.
DIFXAPP: INFO: 'CustomActionData' property 'UI Level' is '2'.
DIFXAPP: INFO: 'CustomActionData' property 'componentId' is
'{B642DEB7-E775-4379-9739-AF3E66DF2023}'.
DIFXAPP: INFO: 'CustomActionData' property 'componentPath' is
'C:\Program Files (x86)\PixeLINK\Install\USBx64\'.
DIFXAPP: INFO: 'CustomActionData' property 'flags' is 0x1F.
DIFXAPP: INFO: 'CustomActionData' property 'installState' is '2'.
DIFXAPP: INFO: 'CustomActionData' property 'ProductName' is 'Camera
Drivers'.
DIFXAPP: INFO: 'CustomActionData' property 'ManufacturerName' is
'PixeLINK'.
DIFXAPP: INFO: user SID of user performing the install is
'S-1-5-21-2843652417-219146766-539197311-1006'.
DIFXAPP: INFO: opening
HKEY_USERS\S-1-5-21-2843652417-219146766-539197311-1006\Software\Microso
ft\Windows\CurrentVersion\DIFxApp\Components\{B642DEB7-E775-4379-9739-AF
3E66DF2023} (User's SID: 'S-1-5-21-2843652417-219146766-539197311-1006')
...
DIFXAPP: INFO: ENTER: DriverPackageInstallW
DIFXAPP: WARNING:DRIVER_PACKAGE_LEGACY_MODE flag set but not supported
on Plug and Play driver on VISTA. Flag will be ignored.
DIFXAPP: INFO: Installing INF file 'C:\Program Files
(x86)\PixeLINK\Install\USBx64\PxLUSB.inf' (Plug and Play).
DIFXAPP: INFO: Looking for Model Section ...
DIFXAPP: INFO: No matching devices found in INF
"C:\Windows\System32\DriverStore\FileRepository\pxlusb.inf_amd64_neutral
_1642e851eb6a4a8a\pxlusb.inf" on the Machine.
DIFXAPP: INFO: No drivers installed. No devices found that match
driver(s) contained in
'C:\Windows\System32\DriverStore\FileRepository\pxlusb.inf_amd64_neutral
_1642e851eb6a4a8a\pxlusb.inf'.
DIFXAPP: INFO: RETURN: DriverPackageInstallW (0xE000020B)
DIFXAPP: INFO: The device(s) for which the driver is being installed has
not been plugged into the computer.
DIFXAPP: INFO: ENTER: DriverPackageGetPathW
DIFXAPP: INFO: RETURN: DriverPackageGetPathW (0x7A)
DIFXAPP: INFO: ENTER: DriverPackageGetPathW
DIFXAPP: INFO: RETURN: DriverPackageGetPathW (0x0)
DIFXAPP: INFO: driver store entry for 'C:\Program Files
(x86)\PixeLINK\Install\USBx64\PxLUSB.inf' is
'C:\Windows\System32\DriverStore\FileRepository\pxlusb.inf_amd64_neutral
_1642e851eb6a4a8a\pxlusb.inf'.
DIFXAPP: INFO: The component Id '{B642DEB7-E775-4379-9739-AF3E66DF2023}'
'C:\Windows\System32\DriverStore\FileRepository\pxlusb.inf_amd64_neutral
_1642e851eb6a4a8a\pxlusb.inf'
DIFXAPP: INFO: A reboot is not needed to install the component
'{B642DEB7-E775-4379-9739-AF3E66DF2023}'.
ActionStart(Name=MsiRollbackInstall,,)
DIFXAPP: RETURN: InstallDriverPackages() 0 (0x0)
CustomActionSchedule(Action=MsiRollbackInstall,ActionType=3329,Source=Bi
naryData,Target=RollbackInstall,CustomActionData=2.12{1464D187-0988-45
7A-91EE-36945AFD9347}312Camera DriversPixeLINK)
ActionStart(Name=MsiInstallDrivers,,)
CustomActionSchedule(Action=MsiInstallDrivers,ActionType=3073,Source=Bin
aryData,Target=InstallDriverPackages,CustomActionData=2.12{1464D187-09
88-457A-91EE-36945AFD9347}C:\Program Files
(x86)\PixeLINK\Install\FWx64\312Camera DriversPixeLINK)
C:\Windows\Installer\MSIBFF1.tmp, Entrypoint: InstallDriverPackages
----------------------------------------------------
Michael Ogilvie
Carter Young
2014-06-11 14:56:49 UTC
Permalink
See Also:
http://stackoverflow.com/questions/13345788/propertyref-to-require-combobox
Post by Carter Young
2205
Database: [2]. Table does not exist: [3].
[2] = Install Database Name
[3] = Table Name
See http://msdn.microsoft.com/en-us/library/aa372835.aspx
If an Upgrade/Repair option always works, my hunch is that Table [3]
is created during the Repair, but not during a fresh install.
Carter
Michael Ogilvie
2014-06-11 15:24:25 UTC
Permalink
Hello,

I don't think that is the issue.

If I install on a fresh install of Windows that has not seen our old
installer, the new Wix installer works perfect all drivers are installed
first time.
Carter Young
2014-06-11 15:40:46 UTC
Permalink
Whether or not this is a true issue or not, the error still needs to
be looked into in order to minimize the possibility that it is
contributing to the error you asked about. Do you happen to have a
log from a "fresh install?"

Carter
Post by Michael Ogilvie
Hello,
I don't think that is the issue.
If I install on a fresh install of Windows that has not seen our old
installer, the new Wix installer works perfect all drivers are installed
first time.
Phill Hogland
2014-06-12 11:59:31 UTC
Permalink
The symptoms that you have shared, (installs on a clean system, but when the
"old" driver is present, the "new" driver is added to the driver store, but
the class installer is not invoked by the PNP manager) are commonly due to
the fact that the "new" driver has a lower driver rank than the "old"
driver. When verbose setupAPI logging is configured there will be verbose
information on driver ranking in either the setupapi.app.log or the
setupapi.dev.log (on Vista or later).

The MSI log that was posted indicates that the Difx 'legacy' flag was set
(but ignored - if you can believe that). A USB driver is always PNP (so far
as I am aware). Certainly setting the 'legacy' flag, indicating a non-PNP
driver, would make the driver rank very low. Also if the "old" driver is
WHQL signed then it will always out rank a legacy driver or a driver which
is not WHQL signed (even if test signed).

Aside from the Difx 'legacy' flag issue. the fact that the driver was added
to the driver store indicates that Wix/MSI and DifxApp did it's job and that
the issue is at the PNP Manager/Class installer level. The setupapi log is
the best way to track down driver design/driver signing issues so far as I
am aware.



--
View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Driver-Issue-tp7595156p7595181.html
Sent from the wix-users mailing list archive at Nabble.com.

Carter Young [mailto:]=20
1970-01-01 00:00:00 UTC
Permalink
Thank you,
Michael Ogilvie


-----Original Message-----
From: Carter Young [mailto:***@grandecom.net]=20
Sent: Wednesday, June 11, 2014 10:57 AM
To: wix-***@lists.sourceforge.net
Subject: Re: [WiX-users] Driver Issue

See Also:
http://stackoverflow.com/questions/13345788/propertyref-to-require-combo
box
Post by Carter Young
2205
Database: [2]. Table does not exist: [3].
[2] =3D Install Database Name
[3] =3D Table Name
See http://msdn.microsoft.com/en-us/library/aa372835.aspx
If an Upgrade/Repair option always works, my hunch is that Table [3]=20
is created during the Repair, but not during a fresh install.
Carter
------------------------------------------------------------------------
------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk
Solutions Find What Matters Most in Your Big Data with HPCC Systems Open
Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
Loading...