Driver installation fails, error message vague
I am trying to create a simple single feature installer that installs a driver using the DIFxApp merge module. I followed the instructions in the manual (except for creating a feature, I just used the default "Complete" feature) and everything worked great until I tried testing it. When I run the installer, it fails with the generic message "Installation ended prematurely because of an error." In the event viewer, there is an MsiInstaller entry that is also very vague (Test Driver is the name of the Wise project):
Product: Test Driver -- Installation operation failed.
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
When I go to link above, it says:
| Details | |
| ID: | 11708 |
| Source: | MsiInstaller |
| We're sorry | |
| There is no additional information about this issue in the Error and Event Log Messages or Knowledge Base databases at this time. You can use the links in the Support area to determine whether any additional information might be available elsewhere. | |
I suspect my problem may be that the drivers I am installing are not digitally signed. I did a little digging and found some stuff that said DIFxApp allows non digitally signed drivers to be installed. Is there a flag I need to set in the MSI tables, or does it not support non digitally signed drivers, or is this not my issue?
A second issue I am having is that my driver has 2 INF files, but the 2nd INF file is not recognized as a driver file by Wise (the driver tab does not show up). I think I can work around this problem by installing two copies of the driver and having 1 INF file for each copy, but this is obviously sloppy. Is there a better way to get both INF files recognized?
The issue with the two inf files
(if I rememebr correctly) is to make sure the two inf files are in different compnents, and that the inf files are set to be the KeyPAth. This should save you having to install the files twice.
As for the DÍFxApp, if you are not an admin, then the (P&P) installation will fail if the files are not digitally signed. Set the flags column to 10 (you will get an ICE error) but this will at least override the abortion on the inital installation.
For deploying it to (Non Windows 7 systems) you can create your own Root CA certificate and deploy this via GPO, and create a certificate for specifically signing drivers, derived from your own ROOT CA. This is obviously only suitable for your own Organization. I have not yet tried, but apparently this is no longer possible with Windows 7 ( blogs.msdn.com/oldnewthing/archive/2009/09/24/9898728.aspx)
Cheers
Phil
I tried using signed drivers
I tried using signed drivers and setting the flags column to 10, but I am still getting the same error message. The problem must be something else.
Which operating system are
Which operating system are you testing on?
Which version of DIFxApp are you using?
Is it a PnP driver?
What does a verbose log say?
(No subject)
Windows XP
DIFxApp 2.0.0.0
It is a PNP driver.
Here is the verbose log: http://www.megafileupload.com/en/file/141636/msilo... . If anyone knows a less annoying place to upload files, let me know.
I do not see anything that stands out but I'm no expert in MSI so maybe I'm missing something.
The answer lies in the
The answer lies in the following log row:
DIFXAPP: ERROR more than one driver package found in C:\Program Files\TMP FTDI Driver\
Checking through the log I saw that you have two drivers in the same folder:
This is a NO NO while using the merge module.
I could be wrong: meaning that one of the .INF file references the other and in that case they should be located in the same folder.
Either have them in different folders or use dpinst.exe through a custom action instead.
Be sure to use DIFxApp.msm or DPinst.exe from Driver Install Frameworks (DIFx) version 2.1.
Thanks a bunch. I never
Thanks a bunch. I never would have guessed that you couldn't have 2 inf files in the same folder even if they are in different features. The inf files don't refer to each other but they are intended to be packaged together. I think I'm going to try using DPinst through a custom action as it (seems) like it will have fewer gotchas.
It's not the INF-file it self
It's not the INF-file it self that needs to be in separate folders but the driver-source files (such as .sys, .dll...) + the .INF and .CAT files (if existing).
Well, not fully true ;) you can within the INF-file specify that the source files should be located in one common folder.
I think it would be best to use DPinst.exe as the source-files are divided into VISTA_XP_2K & amd64 which would mean that the .INF file refers to the files with relative path from the folder the .INF file is located meaning; you would not be able to place the ftdiport.inf & ftdibus.inf (+ the .CAT files) in two different subfolders if you wouldn't want duplicate VISTA_XP_2K & amd64 subfolder for each driver.
Would you like to reply?
Login or Register to post your comment.