我为我们的应用程序设置了MSI,并且我还签署了需要安装的FTDI驱动程序。我希望它们与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 上查看后,我似乎没有其他人这样做。
我也尝试CustomAction
在 MSI 中使用路由,但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="[Drivers]DPInst.exe" /SW /SA" Return="ignore" />
</Fragment>
据我所知,自定义操作永远不会运行。我什至取下了/SW
和/SA
开关,看看是否有任何东西加载,什么也没有。