gpt4 book ai didi

Wix 主要升级,我做错了什么?

转载 作者:行者123 更新时间:2023-12-04 07:09:33 28 4
gpt4 key购买 nike

如果没有组件更改,则升级工作正常,但只要组件更改,升级就会失败,并且需要用户手动卸载并重新安装。

一些片段:

<Product Id="*" Name="My Application" Language="1033" Version="!(bind.FileVersion.ClientEXE)" Manufacturer="My Company" UpgradeCode="MYGUID-b94a-44eb-8e92-9286f1d89bbd">
<Package Id="*" Description="My Installer" Comments="Copyright My Company 2008" InstallerVersion="200" Compressed="yes" />
<Upgrade Id="MYGUID-b94a-44eb-8e92-9286f1d89bbd">
<UpgradeVersion Language="1033" Property="UPGRADEFOUND" Minimum="0.0.0.0" Maximum="99.99.99.99" IncludeMinimum="yes" IncludeMaximum="yes" />
</Upgrade>


<InstallExecuteSequence>
<RemoveExistingProducts Before="InstallInitialize" />
</InstallExecuteSequence>

此外,有时在卸载时无法删除以下注册表项存在一些问题,我不明白为什么:
      <Component Id="InstalledRegistry" Guid="SOMEGUID-0a17-4c6b-983d-8f3feb3a7724">
<RegistryKey Id="InstalledRegKey" Root="HKMU" Key="SOFTWARE\MyCompany\Client" Action="createAndRemoveOnUninstall">
<RegistryValue Name="Version" Type="string" Value="!(bind.FileVersion.ClientEXE)" KeyPath="yes"/>
</RegistryKey>
</Component>

这就是 bootstrap 检查以了解是否使用“REINSTALL=ALL REINSTALLMODE=vamus”启动 msiexec 的内容,因此如果它已被卸载但注册表项没有被删除,安装程序将尝试进行升级并以静默方式失败。

如果需要更多信息,请告诉我

编辑:之后还有一些其他问题,只有一些文件被更新。将 RemoveExistingProducts 更改为 After="InstallValidate"并解决了该问题。使它变慢一点,因为它完全删除了以前的安装,而不仅仅是升级更改的文件(它似乎没有为我正确检测)但它完成了工作。

最佳答案

FWIW,您不需要任何命令行参数来执行重大升级。

代码在我看来没问题,所以可能是版本号没有改变? (请记住,如果您使用的是由 4 部分组成的版本号,则 Windows Installer 只关心前三个部分)

关于Wix 主要升级,我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/603381/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com