我试图创建一个拥有和执行它的MSI。使用WIX中的Bundle选项。这样做会导致错误。有人可以帮我解决这个问题。以下是代码:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Bundle Version="1.0.0.0" UpgradeCode="7AE2E358-B5A0-44B1-9B29-FDD275992993">
<Chain>
<ExePackage Id="Netfx4Full" Compressed="no" PerMachine="yes" Permanent="yes" Vital="yes"
SourceFile="ca\dotNetFx40_Full_x86_x64.exe"
DownloadUrl="http://go.microsoft.com/fwlink/?LinkId=164193"
DetectCondition="Netfx4FullVersion AND (NOT VersionNT64 OR Netfx4x64FullVersion)" />
</Chain>
</Bundle>
错误
错误LGHT0089:找到多个输入部分“{A1B42CCE-8AFE-11E2-AC8C-B3456288709B}”和“{8E644424-3113-462E-9197-32DF740AEB78}”。单个目标中只能有一个输入部分。
答案 0 :(得分:8)
该错误表示您的项目正在构建包含多个元素的文件:Product
,Module
,Patch
,PatchCreation
,{{1} }。在您的情况下,听起来您已将具有Bundle
元素的文件添加到已具有Bundle
元素的项目中。今天的WiX工具集不支持这种功能。您需要将Product
元素放在单独的项目中。
因此,在创建引导程序和MSI时,您将拥有两个.wixproj文件。第一个.wixproj将包含您的Bundle
信息。第二个.wixproj将包含您的Product
信息,并具有对第一个.wixproj的项目引用,以便构建顺序正确。