Discussion:
[WiX-users] How to install Drivers using WiX
ar
2007-10-11 19:47:09 UTC
Permalink
I am able to install drivers using DPInst.exe( It copies my drivers to
DriversStore)

I would like to do the same using WiX. With the following code I am able to
copy the drivers to the System32 directory But not to the DriversStore.

My objective behide doing this is I would like have an installer( one .msi)
which installs drivers and the application.


<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:difx="http://schemas.microsoft.com/wix/DifxAppExtension">

<Product Id="c2bf8f6e-ff84-4b27-adc8-4acc9486cfd3" Name="My Driver"
Language="1033"
Version="1.0.0.0" Manufacturer="My Company"
UpgradeCode="ad6ba1b3-686a-4f49-8c52-84fe1c389d50">
<Package Id="????????-????-????-????-????????????"
InstallerVersion="200" Compressed="yes" />

<Property Id="ALLUSERS">1</Property>
<Media Id="1" Cabinet="DriverInstallation.cab" EmbedCab="yes" />

<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id='SystemFolder' Name='System32'>
<Directory Id='INSTALLDIR' Name='Drivers'>
<Component Id="ProductComponent"
Guid="3e0aa007-4463-4f70-aaf2-ad9c1feffb8c"
DriverForceInstall="yes" DriverSequence="0"
DriverAddRemovePrograms="yes" DriverLegacy ="yes"
DriverPlugAndPlayPrompt="no" >
<File Id="tostrcs1.dll" Name="tostrcs1.dll" Source="tostrcs1.dll"
DiskId="1"/>
<File Id="toaster1.sys" Name="toaster1.sys" Source="toaster1.sys"
DiskId="1"/>
<File Id="toastpkg.inf" Name="toastpkg.inf" Source="toastpkg.inf"
DiskId="1"/>
</Component>
</Directory>
</Directory>
</Directory>

<Feature Id="ProductFeature" Title="My Driver Feature" Level="1">
<ComponentRef Id="ProductComponent" />
</Feature>

<Binary Id="DifxApp" SourceFile="DifxApp.dll"/>
<CustomAction Id="MsiProcessDrivers" BinaryKey="DifxApp"
DllEntry="ProcessDriverPackages" HideTarget="no" Impersonate="no"
Execute="immediate" Return="check"/>
<CustomAction Id="MsiCleanupOnSuccess" BinaryKey="DifxApp"
DllEntry="CleanupOnSuccess" HideTarget="no" Impersonate="no"
Execute="immediate" Return="check"/>

<Binary Id="DifxAppA" SourceFile="DifxAppA.dll"/>
<CustomAction Id="MsiInstallDrivers" BinaryKey="DifxAppA"
DllEntry="InstallDriverPackages" HideTarget="no" Impersonate="no"
Execute="deferred" Return="check"/>
<CustomAction Id="MsiUninstallDrivers" BinaryKey="DifxAppA"
DllEntry="UninstallDriverPackages" HideTarget="no" Impersonate="no"
Execute="deferred" Return="check"/>
<CustomAction Id="MsiRollbackInstall" BinaryKey="DifxAppA"
DllEntry="RollbackInstall" HideTarget="no" Impersonate="no"
Execute="rollback" Return="check"/>


</Product>
</Wix>
--
View this message in context: http://www.nabble.com/How-to-install-Drivers-using-WiX-tf4609546.html#a13163349
Sent from the wix-users mailing list archive at Nabble.com.
Christopher Painter
2007-10-11 20:31:20 UTC
Permalink
I'm curious about this also. I've never really been asked to do driver installation work and someone recently asking me to do this. They seemed to be very fixated on the ability to write driver co-installers in C++. Is this correct thinking or not? It seems with the declaritive nature of MSI/WiX and the avoidance of procedural runtime code ( ala CA's and COM registration ) that you would want to avoid driver co-installers but perhaps this is not the case for drivers.

I would appreciate everyones thoughts on this.

Thanks,
Chris


ar <***@gmail.com> wrote:

I am able to install drivers using DPInst.exe( It copies my drivers to
DriversStore)

I would like to do the same using WiX. With the following code I am able to
copy the drivers to the System32 directory But not to the DriversStore.

My objective behide doing this is I would like have an installer( one .msi)
which installs drivers and the application.



xmlns:difx="http://schemas.microsoft.com/wix/DifxAppExtension">


Language="1033"
Version="1.0.0.0" Manufacturer="My Company"
UpgradeCode="ad6ba1b3-686a-4f49-8c52-84fe1c389d50">

InstallerVersion="200" Compressed="yes" />


1






Guid="3e0aa007-4463-4f70-aaf2-ad9c1feffb8c"
DriverForceInstall="yes" DriverSequence="0"
DriverAddRemovePrograms="yes" DriverLegacy ="yes"
DriverPlugAndPlayPrompt="no" >
DiskId="1"/>
DiskId="1"/>
DiskId="1"/>










DllEntry="ProcessDriverPackages" HideTarget="no" Impersonate="no"
Execute="immediate" Return="check"/>
DllEntry="CleanupOnSuccess" HideTarget="no" Impersonate="no"
Execute="immediate" Return="check"/>


DllEntry="InstallDriverPackages" HideTarget="no" Impersonate="no"
Execute="deferred" Return="check"/>
DllEntry="UninstallDriverPackages" HideTarget="no" Impersonate="no"
Execute="deferred" Return="check"/>
DllEntry="RollbackInstall" HideTarget="no" Impersonate="no"
Execute="rollback" Return="check"/>
--
View this message in context: http://www.nabble.com/How-to-install-Drivers-using-WiX-tf4609546.html#a13163349
Sent from the wix-users mailing list archive at Nabble.com.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
WiX-users mailing list
WiX-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



---------------------------------
Be a better Globetrotter. Get better travel answers from someone who knows.
Yahoo! Answers - Check it out.
Continue reading on narkive:
Loading...