0

Something similar to this has been asked before, but I can't seem to find a solution that matches my needs.

I'm working on streamlining the install process of a legacy WinForms application.

It's for a piece of hardware that required three driver dependencies to install, and I'm trying to use a Wix bundle to package it all together.

One of the drivers depends on a specific file structure, and I don't have the access to edit the .inf files to adjust where it's looking for data, so within the installer I need a file structure like this:

Driver FileStructure

Currently I've been doing it manually in the xml, and not having much success:

<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal ="http://wixtoolset.org/schemas/v4/wxs/bal">
  <Bundle Name="MINEiMiniSetupBundle" Manufacturer="TODO Manufacturer" Version="1.0.0.0" UpgradeCode="ba8f7558-8d8e-497c-95c7-aca4bc5cb362">
    <BootstrapperApplication>
      <bal:WixStandardBootstrapperApplication LicenseUrl="https://www.example.com/license" Theme="hyperlinkLicense" />
    </BootstrapperApplication>

    <Chain>
        <ExePackage Id="FirstDriver" SourceFile="firstInstaller.exe" Permanent="yes"/>
        <ExePackage Id="SecondDriver" SourceFile="secondInstaller.exe" Permanent="yes" />
        <ExePackage Id="dpInstaller" SourceFile="\driver64.exe" Permanent="yes">
            <Payload SourceFile="\DPInst.xml" />
            <Payload SourceFile="\Drivers\ftdibus.cat" />
            <Payload SourceFile="\Drivers\ftdibus.inf" />
            <Payload SourceFile="\Drivers\ftdiport.cat" />
            <Payload SourceFile="\Drivers\ftdiport.inf" />
            <Payload SourceFile="\Data\eula0409.txt" />
            <Payload SourceFile="\Drivers\i386\ftser2k-i386.sys" />
            <Payload SourceFile="=\Drivers\i386\ftserui2-i386.dll" />
            <Payload SourceFile="=\Drivers\i386\ftcserco-i386.dll" />
            <Payload SourceFile="\Drivers\amd64\ftser2k-amd64.sys" />
            <Payload SourceFile="\Drivers\amd64\ftserui2-amd64.dll" />
            <Payload SourceFile="\Drivers\amd64\ftcserco-amd64.dll" />          
        </ExePackage>
        <MsiPackage Id="MainAppMSI" SourceFile="\Release_Online\GSM_Control_4_0_1_28.msi" Permanent="yes" />
        
    </Chain>

  </Bundle>

Is this possible? Any insight on achieving this?

Thank you!

1 Answers1

0

The Payload/@Name attribute can include a relative path so you can have subdirectories.

Bob Arnson
  • 21,377
  • 2
  • 40
  • 47