WIX 捆绑包创建

问题描述 投票:0回答:2
wix
2个回答
11
投票

该错误表明您的项目正在使用包含多个以下元素的文件进行构建:

Product
Module
Patch
PatchCreation
Bundle
。在您的情况下,听起来您将一个带有
Bundle
元素的文件添加到了已经具有
Product
元素的项目中。目前的 WiX 工具集不支持这一点。您需要将
Bundle
元素放在单独的项目中。

因此,在创建引导程序和 MSI 时,您将有两个 .wixproj 文件。第一个 .wixproj 将包含您的

Product
信息。第二个 .wixproj 将包含您的
Bundle
信息,并具有对第一个 .wixproj 的项目引用,以便构建顺序正确。


0
投票

我们也有同样的问题: 错误 WIX0089:找到多个条目部分“”和“”。单个目标中只能存在一个入口部分。

我们只是将产品从wix3切换到wix5。 我们已经毫无问题地更换了一种产品。 现在另一个产品,结构基本相同,也有上面提到的这个错误。

product.wxs 的开头是这样的:

<?include .\Properties.wxi?>
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:ui="http://wixtoolset.org/schemas/v4/wxs/ui">
  <Package ProductCode="$(var.ProductCode)" UpgradeCode="$(var.UpgradeCode)" Name="$(var.ProductName)"
             Language="!(loc.strLanguageCode)" Version="$(var.ProductVersion)" Manufacturer="$(var.CompanyName)"
             Scope="perMachine" Compressed="$(var.Compressed)" InstallerVersion="300" >
    <SummaryInformation Description="$(var.ProductName)" />

Properties.wxi 具有所有定义:

 <?define ProductCode = "*" ?>
 <?define UpgradeCode = "{DAFFCD3E-DED3-49E5-B805-9F4C86831B61}" ?> 
 <?define CompanyName = "example company" ?>
 <?define AppName = "example product"?>
 <?define SetupName = "example stetup name"?>
 <?define ProductYear = "2025"?>
 <?define ProductName = "$(var.AppName) $(var.ProductYear)"?>

我们在这个项目中没有捆绑包,也没有第二个包或产品。 当我们直接在 Product.wxs 中使用 guid 定义 Product-Code 时,错误消息与错误中的 guid 相同: 错误 WIX0089:找到多个条目部分“{09757972-8D40-4624-AE0E-7F32AB22C186}”和“{09757972-8D40-4624-AE0E-7F32AB22C186}”。单个目标中只能存在一个入口部分。

© www.soinside.com 2019 - 2024. All rights reserved.