类似的问题以前也有人问过,但我似乎找不到符合我需要的解决方案。
我正在简化一个遗留的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>
这可能吗?有什么见解可以实现这一点吗?
谢谢你!
1条答案
按热度按时间yxyvkwin1#
Payload/@Name
属性可以包含一个相对路径,这样您就可以拥有子目录。