首页 > 解决方案 > 从 Wix 安装程序中的自定义操作运行 .Net 安装程序?

问题描述

我目前有一个生成单个 MSI 的 wix 安装程序。作为其中的一部分,我检查机器上是否安装了正确版本的 .Net 运行时。如果不是,它当前中止安装并提示用户安装它。我最初尝试使用不同的方法:

https://wixtoolset.org/documentation/manual/v3/howtos/redistributables_and_install_checks/install_dotnet.html

但这会产生一个 exe,我需要它作为单个 MSI 保留。

是否可以改为使用自定义操作来运行 .Net 脱机安装程序并安装它,然后继续 MSI 安装?

标签: .netwixwindows-installer

解决方案


抱歉,这是不可能的。MSI 有一个互斥锁,可以防止两个 MSI 同时运行。(此规则有一个小例外,但它排除了进行适当静默安装的任何希望。)

您可以使用 WiX Burn 创建一个 setup.exe 来安装 .NET,然后再安装您的 MSI。

或者,您的应用程序可以切换到 .NET Core 并将其自己的 .NET 捆绑在 MSI 中,而无需安装系统范围的实例。


推荐阅读