安装 MSI 后如何使用 Burn 和 DPInst 安装驱动程序?

How do I install drivers using Burn and DPInst after MSI installation?

我有一个设置 MSI for our application, and I also have signed FTDI drivers that need to be installed as well. I'd like for them to be installed with Burn 而不是 WiX MSI 来将 CustomActions 排除在 MSI 之外(但是,我也尝试过 CA 路由)。

我试过将指令放在 ExePackage 中,但是 SourceFile 属性在构建期间询问文件位置,而不是运行时(例如 <ExePackage Id="InstallDrivers" DisplayName="Installing Drivers" SourceFile="[InstallFolder]Drivers\DPInst.exe" InstallCommand="/SA /SW" PerMachine="yes" After="MyMSISetup" Description="Installing the FTDI drivers needed for device communication." /> 不构建) .

有没有办法告诉 Burn 使用安装 MSI 后驱动程序所在的文件位置来执行 DPInst?目前 MSI 将驱动程序文件和 DPInst 复制到安装目录中的 Drivers 文件夹中。在网上和 Stack Overflow 上查看后,我似乎没有其他人在这样做。

我也试过在 MSI 中使用 CustomAction 路由,但是 CustomAction 无法执行。我希望驱动程序与 Burn 一起安装,但如果它们与 MSI 一起工作,我会满足于此。目前 MSI 将文件复制到 Drivers 文件夹,CustomAction 如下所示:

<InstallExecuteSequence>
    <Custom Action="Install_Signed_Driver" After="InstallFiles">NOT INSTALLED</Custom>
</InstallExecuteSequence>

<Fragment>
    <CustomAction Id=Install_Signed_Driver" Execute="deferred" Directory="Drivers" ExeCommand=&quot;[Drivers]DPInst.exe&quot; /SW /SA" Return="ignore" />
</Fragment>

据我所知,自定义操作从未运行过。我什至关闭了 /SW/SA 开关以查看是否加载了任何内容,但什么也没有。

根据 Whosebug 的建议,我将在此处发布发现的内容。我永远无法让 Burn 到 运行 DPInst 来安装驱动程序,但能够使用 Can't seem to get Wix to install driver.

让 CustomAction 工作