如何使用Wix Bootstrapper复制文件

时间:2017-05-23 23:31:58

标签: wix windows-installer

我有这个非常具体的场景,我需要安装已经存在的MSI(我没有源代码)并将一些额外的dll复制到目标文件夹。我创建了Wix Bootstrapper,它将启动MSI,但是,似乎我只能使用EXE或MSI作为Chain的孩子:

<Bundle>
  <Chain>
    <MsiPackage SourceFile="MyAwesomeInstaller.msi" />
  </Chain>
</Bundle>

是否可以只将文件复制为Chain的一部分?我尝试使用

<Payload SourceFile="FileThatNeedsToGoToInstallFolder.dll" Id="MyAwesomeFile"/>

但是这不会将文件复制到最终目的地。

谢谢!

1 个答案:

答案 0 :(得分:0)

一种解决方法是添加运行批处理脚本的ExePackage来复制文件。喜欢这个:

<ExePackage Id="MyId" DisplayName="Copying additional files for xx.msi" SourceFile="mybatchfile.cmd" Permanent="yes">
   <Payload Id="myDll" SourceFile="mydll.dll"/>
</ExePackage>

可能不漂亮,但它确实存在。