winforms 在Wix中为ExePackage添加依赖文件夹

qco9c6ql  于 2023-06-24  发布在  其他
关注(0)|答案(1)|浏览(129)

类似的问题以前也有人问过,但我似乎找不到符合我需要的解决方案。
我正在简化一个遗留的WinForms应用程序的安装过程。
这是一个需要安装三个驱动程序依赖项的硬件,我试图使用Wix捆绑包将它们打包在一起。
其中一个驱动程序依赖于特定的文件结构,我没有权限编辑.inf文件来调整它查找数据的位置,因此在安装程序中,我需要这样的文件结构:

目前,我一直在xml中手动执行,并没有取得多大成功:

<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>

这可能吗?有什么见解可以实现这一点吗?
谢谢你!

yxyvkwin

yxyvkwin1#

Payload/@Name属性可以包含一个相对路径,这样您就可以拥有子目录。

相关问题