升级根本不起作用,安装另一个版本的应用程序(Wixsharp,自定义引导程序)

Upgrade is not working at all, installing another version of application (Wixsharp, custom Bootstrapper)

我是 wix/wixsharp 和引导程序的新手。我创建了一个安装程序并提供了 ProductID、UpgradeCode 和版本。安装程序工作正常,但是当我创建新的安装程序并提供不同的版本时,它只是允许用户安装另一个版本的应用程序,并且可以在程序文件中看到 bot。

如果我使用之前安装的相同文件,它会按预期提供卸载选项,但当我使用升级后的文件时,它不会提供升级或修复选项。

谁能帮我解决这个问题。这是我正在使用的代码

project.UpgradeCode = new Guid("9fa9fcf6-e807-404d-a67a-d66f1a60ca53");
            project.ProductId = new Guid("0b2d7210-32ce-4095-9c46-aaccb1bf0733");
            project.Version= new Version("1.0.209.10040");
            project.MajorUpgrade = new MajorUpgrade
            {
                Schedule = UpgradeSchedule.afterInstallInitialize,
                DowngradeErrorMessage = "A later version of [ProductName] is already installed. Setup will now exit."
            };

在第二个版本中,我只是更改版本(“1.1.209.10040”),保持其他一切不变。

如果需要任何其他代码部分,请告诉我,因为我真的很新,我不确定我是否分享了所有必要的信息。

如果您尝试进行重大升级,则需要更改 ProductCode。每当您构建升级时,您都应该参考 MS 发布的 Windows installer Upgrade page。我不知道是否有特定的 WiX,但相同的概念仍然适用。

这对我有用。我更改了 ProductId,然后我可以 auto-upgrade 我的基于版本号的产品(前三部分)。 project.ProductId = Guid.NewGuid();