I have created a wix installation project for an inf driver that outputs an msi. I have included the cat, sys and inf files as components shown below. When I run the msi it stops prematurely and the log file shows this error:
ERROR: One or more files referenced by .inf file cannot be found in the package.
I'm building it for 64 bit (for now) and have added the reference to difxapp_64. Can all inf files be packaged into an msi or is something else needed?
The main wxs:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:difx="http://schemas.microsoft.com/wix/DifxAppExtension"
xmlns:util='http://schemas.microsoft.com/wix/UtilExtension'>
<?if $(var.Platform)=x64 ?>
<?define ProductCode="{938775bb-4577-453d-8373-f03869bd2f37}" ?>
<?else?>
<?define ProductCode="{9e5fa76f-c865-4956-8651-f864dd5536f3}" ?>
<?endif?>
<?define ProductUpgradeCode = "5677d653-cc0d-4473-8ad4-89c8910524a5"?>
<Product
Id="$(var.ProductCode)"
Name="!(loc.ProductName_$(var.Platform))"
Manufacturer="!(loc.CompanyName)"
Version="0.0.1.0"
Language="1033"
UpgradeCode="$(var.ProductUpgradeCode)"
>
<Package
Manufacturer="!(loc.CompanyName)"
Description="!(loc.ProductName_$(var.Platform)) Installer"
Compressed="yes"
InstallerVersion="200"
Platform="$(var.Platform)"
InstallPrivileges='elevated'
InstallScope='perMachine'/>
<?include Settings.wxi ?>
<Property Id="DiskPrompt" Value="!(loc.ProductName_$(var.Platform)) Installation" />
<Property Id="ARPCONTACT" Value="!(loc.CompanyName)" />
<Property Id="ARPURLINFOABOUT" Value="https://www.sitename.com" />
<Property Id="ARPCOMMENTS">
!(loc.CompanyName) - !(loc.ProductName_$(var.Platform))
</Property>
<MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeErrorMessage)"/>
<Media Id='1' Cabinet='Drivers.cab' EmbedCab='yes' DiskPrompt='DirFilter Media' />
<Feature Id='ProductFeature' Title='Drivers' Level='1'>
<ComponentGroupRef Id='ProductComponents' />
</Feature>
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" />
<UIRef Id="WixUI_InstallDir" />
<UI>
<Publish
Dialog="WelcomeDlg"
Control="Next"
Event="NewDialog"
Value="InstallDirDlg"
Order="5">1</Publish>
<Publish
Dialog="InstallDirDlg"
Control="Back"
Event="NewDialog"
Value="WelcomeDlg"
Order="5">1</Publish>
</UI>
</Product>
</Wix>
Directories wxs:
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<?if $(var.Platform)=x64 ?>
<Directory Id="ProgramFiles64Folder">
<Directory Id="Company" Name="!(loc.CompanyName)">
<Directory Id="INSTALLDIR" Name="!(loc.ProductShortName)" />
</Directory>
</Directory>
<?else?>
<Directory Id="ProgramFilesFolder">
<Directory Id="Company" Name="!(loc.CompanyName)">
<Directory Id="INSTALLDIR" Name="!(loc.ProductShortName)" />
</Directory>
</Directory>
<?endif?>
</Directory>
</Fragment>
Components wxs:
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLDIR">
<ComponentRef Id='sttube_Win10_64' />
</ComponentGroup>
<DirectoryRef Id='INSTALLDIR'>
<Component Id="sttube_Win10_64" Guid="cd92a990-1783-477f-87c9-9da93a5c14ac" Win64="yes"
DiskId="1" >
<File Id="sttube.cat_Win10_64" Source="Driver\Win10\" Name="sttube.cat" />
<File Id="STtube.inf_Win10_64" Source="Driver\Win10\" Name="STtube.inf" />
<File Id="STTub30.sys_Win10_64" Source="Driver\Win10\x64\" Name="STTub30.sys"
KeyPath="yes" />
<difx:Driver AddRemovePrograms="yes" PlugAndPlayPrompt="no" Sequence='1' />
</Component>
</DirectoryRef>
</Fragment>