cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
LKM_N4EN
Level 6

Driver installation Failed in Vista

I have a basic MSI project where I need to install the driver as merge module. This setup shall support Windows 2000, Windows XP and Windows Vista.

In the setup, the drivers are put as sub-feature with merge module associated respectively. The setup is running successfully in Windows 2000 and Windows XP. However, when I run the installation in Windows Vista, the setup is interrupted. Here are the error copied from the log files:

Action 11:39:44: MsiInstallDrivers.
MSI (s) (40:A4) [11:39:44:236]: Executing op: CustomActionSchedule(Action=MsiInstallDrivers,ActionType=3073,Source=BinaryData,Target=InstallDriverPackages,CustomActionData=2.01 5 {F2822A39-52E5-4F57-AEC8-0BF348FC7AEE} C:\GemCCID\ 30 2 My Company Name Manufacturer)
MSI (s) (40:B8) [11:39:44:251]: Invoking remote custom action. DLL: C:\Windows\Installer\MSI7AA5.tmp, Entrypoint: InstallDriverPackages
MSI (s) (40:04) [11:39:44:251]: Generating random cookie.
MSI (s) (40:04) [11:39:44:267]: Created Custom Action Server with PID 2244 (0x8C4).
MSI (s) (40:20) [11:39:44:345]: Running as a service.
MSI (s) (40:20) [11:39:44:345]: Hello, I'm your 32bit Elevated custom action server.
DIFXAPP: InstallDriverPackages
DIFXAPP: 'CustomActionData' property 'DIFxApp Version' is 2.01.
DIFXAPP: 'CustomActionData' property 'UI Level' is 5.
DIFXAPP: 'CustomActionData' property 'componentId' is {F2822A39-52E5-4F57-AEC8-0BF348FC7AEE}.
DIFXAPP: 'CustomActionData' property 'componentPath' is C:\GemCCID\.
DIFXAPP: 'CustomActionData' property 'flags' is 0x1E.
DIFXAPP: 'CustomActionData' property 'installState' is 2.
DIFXAPP: 'CustomActionData' property 'ProductName' is My Company Name.
DIFXAPP: 'CustomActionData' property 'ManufacturerName' is Manufacturer.
DIFXAPP: INFO: ENTER: DriverPackageInstallW
DIFXAPP: INFO: Running on Windows codenamed Longhorn.
DIFXAPP: INFO: Installing INF file "C:\GemCCID\GemCCID.inf" (Plug and Play).
DIFXAPP: INFO: Looking for Model Section ...
DIFXAPP: INFO: No matching devices found in INF "C:\GemCCID\GemCCID.inf" on the Machine.
DIFXAPP: INFO: No drivers installed. No devices found that match driver(s) contained in 'C:\GemCCID\GemCCID.inf'.
DIFXAPP: INFO: RETURN: DriverPackageInstallW (0xE000020B)
DIFXAPP: The device(s) for which the driver is being installed has not been plugged into the computer.
DIFXAPP: INFO: ENTER: DriverPackageGetPathW
DIFXAPP: ERROR: DriverPackageGetPath is not yet supported for PnP drivers on LH.
DIFXAPP: INFO: RETURN: DriverPackageGetPathW (0xA)
DIFXAPP: ERROR failed to obtain driver store handle for C:\GemCCID\GemCCID.inf
DIFXAPP: InstallDriverPackages failed with error 0xE000020B
Action ended 11:39:46: InstallFinalize. Return value 3.


Please advice me on this.
Labels (1)
0 Kudos
(8) Replies
Holger_G
Level 10

First make sure that your driver package matches the requirements of DIFx and that it works properly when installing manually. You can simply use the stand-alone tool DPInst to perform a driver package installation only.

And I would highly recommend to use the latest version of DIFx (version 2.10) since version 2.10 is required to use with Windows Vista. It looks like that you use a InstallShield version prior to IS 2008.
0 Kudos
LKM_N4EN
Level 6

Holger_G wrote:
First make sure that your driver package matches the requirements of DIFx and that it works properly when installing manually. You can simply use the stand-alone tool DPInst to perform a driver package installation only.

And I would highly recommend to use the latest version of DIFx (version 2.10) since version 2.10 is required to use with Windows Vista. It looks like that you use a InstallShield version prior to IS 2008.


The driver package for sure is working properly. The strange thing is when I created a new dummy setup which has nothing except for the drivers merge module only, the installation having no issue at all. I checked the log file DIFx is upgraded to version 2.1.

But with my project itself, I still unable to install the driver. The merge module is created with IS2008, but my basic msi project is IS2009. How could i choose to always use DIFx 2.1?
0 Kudos
Holger_G
Level 10

Have you tried to create a simple project without the use of the merge module? Just add the driver package directly to the project.
DIFxAPP 2.1 should be used as of IS 2008.
0 Kudos
LKM_N4EN
Level 6

Sorry but what do you mean by just add the driver package directly to the project? Do you mean the datafiles (e.g. *.inf...) or the msi?
0 Kudos
Holger_G
Level 10

Create a sample project without the use of a merge module and check out if that works properly.
0 Kudos
LKM_N4EN
Level 6

As I associated the feature with the driver's merge module, and some of the drives is not supported in Vista so I put the feature condition to evaluate if "VersionNT=600". If so, it will raise the install level to "200".

I am not sure this will affect the upgrade of DIFx, but apparently when i remove the these feature, it work fine.
0 Kudos
LKM_N4EN
Level 6

Holger_G wrote:
Create a sample project without the use of a merge module and check out if that works properly.


Yeah, the project itself without merge module is working.
0 Kudos
Holger_G
Level 10

I mean to author the driver package related components directly in the main project instead of using a merge module therefore.
And you should also try to migrate your merge module to IS 2009 and check if that will work better.
0 Kudos