Hello,
Is it possible to conditionally install drivers with DIFxApp extension?
If I put a Condition element inside the Component or Feature that
contains the driver files, it doesn't seem to have any effect to the
custom actions that actually install the drivers. For example, one of
the custom actions from DlFxApp that deals with driver installs is
MsiProcessDrivers. Setting a Condition to the Component containing the
<difx:Driver/> tag does not change the custom action's condition in
InstallExecuteSequence.
<DirectoryRef Id="DriversFolder">
<!-- 32 bit usb ccid generic driver -->
<Component Id="usbccid" Guid="MY GUID">
<Condition>NOT VersionNT64</Condition>
<File Source="$(var.UsbccidDir)\usbccid.sys" KeyPath="yes" />
<File Source="$(var.UsbccidDir)\usbccid.inf" />
<File Source="$(var.UsbccidDir)\usbccid.cat" />
<difx:Driver DeleteFiles="yes" PlugAndPlayPrompt="no" />
</Component>
</DirectoryRef>
I also tried to change the custom action directly (that would be an ugly
hack of course), but this doesn't work either:
<InstallExecuteSequence>
<Custom Action="MsiProcessDrivers" After="UninstallCertificates">
NOT VersionNT64
</Custom>
</InstallExecuteSequence>
The error I got was:
> C:\delivery\Dev\wix30_public\src\ext\DifxAppExtension\wixlib\DIFxAppExtension.wxs(8)
> : error LGHT017
> 0 : The InstallExecuteSequence table contains an action 'MsiProcessDrivers'
> that is declared in two
> different locations. Please remove one of the actions or set the
> Overridable='yes' attribute on one
> of their elements.
The reason why I needed to conditionally install the drivers was that on
a 64 bit Windows the 32 bit MSI with 32 bit drivers fails to install. It
would make sense to allow users to install the 32 bit MSI on a 64 bit
platform, but currently install fails because of the drivers. Given that
the 64 bit drivers are also available from Windows Update, I'd like to
just install the rest of the MSI. However, I am unable to find a clean
way to NOT install the drivers on a 64 bit platform. Currently the
install fails with the following error:
DIFXAPP: ERROR - You need to use the 64-bit version of DIFXAPP.DLL to
install drivers on this machine.
Any suggestions how to not install the drivers based on a condition?
--
Kalev
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users