问题标签 [major-upgrade]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
604 浏览

wix - 无法阻止降级

我试图按照以下要求进行安装。
1、应对重大升级,防止降级。
2. 应处理较小的升级/更新并防止降级。
3.应该是可修补的,防止降级。
当然,所有这些都在同一个包中

到目前为止,我已经遇到了一个又一个的障碍。
FindrelatedProducts不在维护模式下运行,因此我无法真正检查使用 upgradeversion 标签安装的其他产品。
不能有ProductCode= "*" 因为 pyro 不喜欢创建补丁。
我还注意到,根据https://www.firegiant.com/wix/tutorial/upgrades-and-modularization/构建的防止降级并不能真正从命令行使用开关REINSTALL=ALL运行安装和REINSTALLMODE=vomus。似乎开关忽略了升级版本设置。

我很确定我错过了什么,但我看不到它。有人对如何做到这一点有任何提示吗?

我的升级元素看起来像

0 投票
3 回答
667 浏览

deployment - 如何部署包含版本低于已部署文件的文件的产品升级?

我有一个部署文件 MyFile.dll 的 msi 组件。我有一台测试机器,我的产品已经在其中部署了 MyFile.dll,其版本为 09.99.99.99。

现在我正在编写一个重大升级,它将部署一个新版本的 MyFile.dll,版本为 05.23.76.123。在测试机上执行后,MyFilee.dll 被删除...我需要更改或修复才能正确部署它。

无论注入的版本号如何,如何强制部署 MyFile.dll?

PS:这仅在我们的测试机器上发生。我们交付给用户的产品具有版本号与发布历史一致的文件。

0 投票
1 回答
415 浏览

wix - wix 安装程序如何在主要版本升级期间降级合并模块文件?

我们有一个使用合并模块的安装程序。合并模块的最新版本包括对某些文件的降级。使用安装程序从早期版本升级时,我们在降级这些文件时遇到问题。

最初合并模块中的文件被删除并且没有重新安装,但是在阅读wix 主要升级后没有安装Schedule='afterInstallFinalize'MajorUpgrade元素上设置的所有文件。这导致具有较新版本的文件被保留。

我们如何更改我们的安装程序或合并模块,以便在升级期间降级这些文件?

0 投票
1 回答
768 浏览

wix - Wix/MSI - 静默模式下的重大升级

我有一个安装程序,支持我们以前版本的升级:

当我在 UI 模式下在旧版本 4.2 上运行此安装程序时,升级工作正常。但是当我使用 /q 在静默模式下运行它时,它会在维护模式下运行并尝试自行卸载。

这是日志的部分:

...

...

两个安装程序中的主要功能名称不同。当我将新版本中的功能名称更改为与 4.2 相同时,升级在静默模式下工作,但在 UI 模式下停止工作,并出现类似的日志:在 MigrateFeatureState 之后,所有组件都处于状态 Installed: Absent; 请求:空;行动:Null 和 REMOVE 设置为 ALL。任何想法为什么它表现得如此奇怪?

0 投票
1 回答
143 浏览

windows-8 - Windows 服务无法在 installshield 中安装 Windows 8 上的次要到主要升级

我有一个小升级类型的安装程序。(比如说 MyAppMinor_v.msi)

我构建了另一个重大升级类型的相同应用程序的安装程序(比如 MyAppMajor_v+1.msi)。

这两个都是使用 InstallShield 2014 构建的。

MyApp 有一个在后台运行的 Windows 系统服务 (MyService.exe)。此外,MyApp 具有从 App UI 更新自身的功能;其中应用程序使用以下命令进行自我更新:

此命令从 MyAppMinor 版本的 MyService.exe 运行。

更新过程完成后,未安装 MyAppMajor 版本的服务 MyService.exe。

它在安装程序日志中给出以下错误:

MSI (s) (FC:2C) [10:17:54:387]:产品:MyAppMajor -- 错误 1923.Service MyService 安装失败。验证您是否有足够的权限来安装系统服务。

我确实在目标机器上拥有管理员权限。

此行为仅在 Windows 8/8.1 上观察到。

在 Windows 7 上,我没有收到此错误,并且 MyService 在 MyAppMinor 到 MyAppMajor 的升级上运行良好。

0 投票
2 回答
3688 浏览

wix - Wix 主要升级,无论文件版本如何都替换文件

我的 WiX 安装程序(Wix 3.10、MSI 4.5)MajorUpgrade用于更新。要安装的文件是heat.exe在预构建中收集的。当前(旧)msi 文件包含一个文件nlog.dll(随 NuGet 包一起提供v4.1.0),其文件版本为4.1.0.0,产品版本为4.1.0,上次写入时间为2015-09-01.

由于 nlog 团队遇到了一些严重的命名问题,他们发布了一个更新的 NuGet 包v4.1.1,其中包含一个更新nlog.dll ,其文件版本降低回,4.0.0.0而其产品版本提高到4.1.1,最后写入时间为2015-09-14.

现在我遇到了 Robbie 在这里所做的相关问题:wix major upgrade not installed all files:当我安装新的 msi 包并执行主要升级时,当前nlog.dll(根据其文件版本较新,但较旧根据其文件日期和产品版本)正在被删除,但nlog.dll没有安装新的。

但是,使用Schedule="afterInstallExecute"orSchedule="afterInstallFinalize"按照建议不会对我有用。与 Robbie 的情况不同,它不会删除较新的文件并且不安装较旧的文件,而是不会覆盖当前文件,而是将其保留在原处。

长话短说,我希望我的安装程序简单地安装它附带的所有文件,而不管任何文件/产品/程序集版本控制的东西。在某些情况下,需要用旧文件替换新文件。你不能告诉安装引擎忽略文件版本/日期吗?如果没有,我有什么选择?

0 投票
2 回答
2906 浏览

wix - Wix 在主要升级期间不会删除以前版本的刻录 exe

我使用刻录引导程序创建了一个 wix exe。当我尝试对其进行重大升级时,会安装新版本。新升级中缺少的功能也会从现有文件夹结构中删除。但在“添加或删除程序”中,我仍然可以找到这两个安装。我已在 Bootstrapper 项目的 Bundle.wxs 文件中将版本从 1.0.0.0 增加到 1.0.1.0。我还将安装项目的产品元素中的版本从 1.0.0.0 增加到 1.0.1.0。我没有更改这两个文件中的升级代码。我还在安装项目的 Product.wxs 中为产品 ID 创建了新的 GUID。我在这里做错了什么?为什么添加或删除程序中仍然存在以前的版本?请指教。

下面是 Bootstrapper 项目的 Bundle.wxs。

下面是安装项目的 Product.wxs。

下面是处理安装程序相关操作的类。

日志文件 1:

日志文件 2:

0 投票
2 回答
1298 浏览

visual-studio - 如何强制 Installshield 2012 执行重大升级?

从 1.7.211 升级到 1.7.212 时,我的安装程序正在执行小升级,但我希望它始终执行大升级。新安装程序应始终覆盖以前安装程序安装的所有内容,无一例外。有没有办法修改 installshield 项目来完成这个?

0 投票
0 回答
377 浏览

installshield-2010 - InstallShield 2010 基本 MSI 主要升级错误 2753

我正在使用 InstallShield 2010 Basic MSI Project 安装产品。现在,我创建了一个主要升级项目,用于从以前的版本执行主要升级。

在项目中,我有一个 EXE 文件,它注册了第 3 方组件,在安装、卸载期间需要使用不同的 cmd 行参数调用该组件。

我为此创建了两个自定义操作(CA:EXE,随产品一起安装),这在以前的版本中运行良好。

1) REGMYCOMP - 用于安装 -延迟执行- 在InstallFinalize之前排序(条件:未安装

2) UNREGMYCOMP - 用于卸载 -延迟执行- 在 RemoveFiles 之前排序(条件:(REMOVE = "ALL") OR (IS_MAJOR_UPGRADE)

UNREGMYCOMP CA 在主要升级期间失败(直接使用 MSIEXEC.EXE 执行 MSI)并出现以下错误

错误 2753 文件“xxxx.exe”未标记为安装。

当我尝试从控制面板 ARP 条目卸载产品时,也会发生同样的事情。

0 投票
1 回答
694 浏览

wix - WiX Bundle:安装 bundle 2.0.0 时,不会从程序和功能中删除 1.0.0 的补丁

有 3 个捆绑包,代码如下所示。1.0.0、1.0.0.1 和 2.0.0。

如果安装了 1.0.0、1.0.0.1 和 2.0.0,View Installed Updates 仍会将 1.0.0.1 列为已安装。它将保留在那里,直到卸载最后一个版本。

应用升级时,应从程序和功能和/或查看已安装的更新中删除所有以前的版本和补丁。与直接安装 MSI/MSP 而不是通过 Bundler 安装时发生的情况完全相同。