Bra*_*ess 5 windows-installer bundle wix upgrade
从捆绑软件执行wix软件包会在升级过程中输出“错误1316:指定的帐户已存在”。Windows Installer如何输出此错误代码?恐怕没有太多的文档。
我们以前发布了一个包含单个msi软件包的产品,现在我们正在准备一个升级,其中包括一个包含该msi软件包新版本的wix捆绑软件。原始msi软件包与更新之间的产品代码和文件名未更改。
编辑: MSI程序包目前不支持升级。当用户需要升级时(无论是主要升级,次要升级还是小更新),他必须首先手动卸载以前的软件包...
编辑2:我刚刚删除了对util扩展的引用进行编译,并且安装程序似乎运行正常……尽管如此,我仍然需要对其进行全面测试。
小智 8
像 MrFusion 一样,我在卸载/安装另一个程序时遇到了这个问题。不幸的是,该答案中的链接不再有效,并重定向到一个页面,其中列出了许多简单的修复解决方案,除了唯一有帮助的解决方案。那个,“程序安装和卸载”,目前可在:https : //support.microsoft.com/en-us/help/17588/fix-problems-that-block-programs-from-being-installed-or -已删除
它为我解决了这个问题。
升级 MSI 要求 MSI 具有新的 ProductCode、递增的 ProductVersion(在前 3 个字段中)和相同的 UpgradeCode。因此,我不清楚您是否真的获得了升级,具体取决于刻录部分认为您正在做什么。它无法进行升级,因为您具有相同的产品代码。(您需要 MSI 中的 MajorUpgrade 元素才能进行正确的升级)。因此,对于您是否获得真正的全面升级存在一些疑问。如果您的目的是使用完整升级和更高版本的产品替换已安装的 MSI,则使用 MajorUpgrade。
因此,Burn 可能决定通过重新安装 MSI 文件来进行就地更新(这更像是补丁而不是更新),这是相关的,因为您没有说明是否有任何自定义操作或 WiX util 函数(它们仍然是创建用户帐户的自定义操作。如果这样做,那么错误的最可能原因是 Burn 通过重新安装 MSI 文件重新安装了新的 MSI 作为更新,并且一些自定义操作只是再次运行,是的,该用户仍然存在,因为还没有实际卸载会删除它。或者您的 MSI 的产品版本相同,并且您进行了维护模式修复,因此自定义操作将再次运行。
我会获得详细的升级日志,以准确了解发生了什么情况。
这里有很多猜测,因为您说您想要升级,但您的 MSI 并不是为实际进行升级而构建的,并且您没有说您是否有 WiX util User 来创建用户帐户。您也没有说明是否增加了新 MSI 的 ProductVersion,因此这又会导致人们更多地猜测 Burn 可能会做什么。详细日志将显示是否是自定义操作问题或其他问题,以及您正在执行哪种更新(如果有)。