dotnetinstaller 配置以继续安装 MSI,即使先决条件失败

问题描述

我有一个使用 dotnetinstaller 构建的 VC++ 应用程序的设置。作为本机应用程序,VC++ 可再发行组件是先决条件。然而,现在这些变化非常频繁(每 6-8 周)。这意味着我们发布了应用程序的新版本,但在客户实际安装我们的应用程序之前,还会发布更新版本的可再发行组件并将其安装在客户计算机上。结果是我们设置中的旧可再发行组件将无法安装,因为存在更新的版本。这反过来又会导致安装失败,因此不会执行应用程序 MSI。

目前,解决方法是打开提升为管理员的命令提示符,并使用正确的参数运行 msiexec。我想为客户找到更好的体验。

VC++ 可再发行组件是作为必需的先决条件添加的。这意味着 required_install 属性设置为 true。这样做的结果是,未安装先决条件意味着安装失败。虽然 allow_continue_on_errordefault_continue_on_error 设置为 true,但用户会被告知失败并可以继续其他先决条件,但最终设置失败并且 MSI 执行不会开始。

我已尝试通过将 required_install 属性设置为 false 来使 VC++ 可再分发的可选先决条件成为可能。然而,这会导致另一种不受欢迎的行为。如果缺少任何必需的先决条件,则会显示先决条件对话框,我可以选中/取消选中可选的(因此如果我不想要它们,则跳过它们)。但是,如果找到所有必需的先决条件,而仅缺少可选的先决条件,则安装程序不会显示先决条件对话框并直接执行 MSI。

我需要一个选项来使这些先决条件成为可选的,因为安装它们失败不会停止 MSI 的执行;但是,我确实希望用户看到它们丢失了(如果有的话),并且可以选择安装它们。

dotnetintaller 可以以某种方式实现吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)