是否可以将Msi包包含在引导程序中但不包含任何外部文件?
所以我的msi安装程序有一个文件:
<Component Directory="INSTALLDIR">
<File Id="DatabaseBackup"
Name="Database.bak"
Source="Database.bak"
Compressed="no" />
</Component>
输出:
现在,如果我将刻录链设置为包含msi包:
<MsiPackage SourceFile="$(var.Installer.TargetPath)" />
“Database.bak”文件也被压缩成结果exe。是否可以压缩msi但不压缩.bak文件?
如果没有,有人可以更好地回答this问题,那么我根本不需要这样做! :)
答案 0 :(得分:4)
为此,我使用了Payload元素...在您的示例中,我将MsiPackage
元素更改为:
<MsiPackage SourceFile="$(var.Installer.TargetPath)" >
<Payload Compressed="no" SourceFile="{path_to_bak_file}\Database.bak" />
</MsiPackage>
MSI然后选择文件并按预期使用它。
我还没有找到一种方法来使这个条件或灵活..在我的情况下,它是一个不重要的配置文件,但我的设置现在失败(首先打开一个文件打开对话框,寻找该文件),如果文件丢失 - 当然这取决于我创建的MSI的细节。
希望这有帮助