我有一台机器,其中安装了使用 InstallShield 创建的软件,并且该项目不包含 UpgradeCode。我知道升级代码从未被分配。如果我要更新软件而不手动完全卸载,如何实现?我在 VisualStudio 中使用 WIXtool 来创建 MSI,它能够安装所需的软件,但无法替换或升级旧软件。
我尝试创建一个小补丁,但我将使用旧的 InstallShield 项目并向其中添加 UpgradeCode 并创建新的设置。但在我的InstallShield中,没有选项放置UpgradeCode。
您无法使用升级表来检测没有
UpgradeCode
的软件包,因此内置升级逻辑已变得无用。您可以创建一个次要升级来安装现有的 MSI,并且我认为次要升级可能包含升级代码以使事情回到正轨。我不是 100%,因为我还没有发货过没有 UpgradeCode
的 MSI。 WiX 工具集警告您永远不要这样做......正是因为这个原因。