我有这个非常具体的场景,我需要安装已经存在的MSI(我没有源代码)并将一些额外的dll复制到目标文件夹。我创建了Wix Bootstrapper,它将启动MSI,但是,似乎我只能使用EXE或MSI作为Chain的孩子:
<Bundle>
<Chain>
<MsiPackage SourceFile="MyAwesomeInstaller.msi" />
</Chain>
</Bundle>
是否可以只将文件复制为Chain的一部分?我尝试使用
<Payload SourceFile="FileThatNeedsToGoToInstallFolder.dll" Id="MyAwesomeFile"/>
但是这不会将文件复制到最终目的地。
谢谢!
答案 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>
可能不漂亮,但它确实存在。