gpt4 book ai didi

wix - 自定义 Wix Burn Bootstrap 未检测到 MSI 安装状态

转载 作者:行者123 更新时间:2023-12-02 07:37:59 32 4
gpt4 key购买 nike

我正在创建一个基于 Wix/Burn(3.6 发行版)的自定义向导式 Bootstrap 。我基于 Wix 3.6 Bootstrap 代码。

问题是我无法让 Bootstrap 检测作为 bundle 一部分的 setup.msi 的安装状态。

据我了解,所需要做的就是调用 Engine.Detect(),其中 Engine 是 Bootstrapper 应用程序中 Wix 引擎的一个实例。那时我应该能够查看 Bootstrapper.Command.Action 以查看所需的启动操作是什么。

我的包包含两个项目:.NET 4(网络安装)和我的 setup.msi。

我怀疑我遗漏了一个步骤来确定我是应该将我的向导置于维护模式还是安装模式。

最佳答案

首先,要确定包是否被检测到,您可以检查当前用户临时目录中的日志文件。它会告诉您是否已检测到包裹。

现在要确定是进入维护模式还是安装模式,您可以通过订阅 DetectPackageComplete 事件来检查包状态。在下面的示例中,我的 UI 使用两个属性 InstallEnabled 和 UninstallEnabled 来确定向用户呈现的“模式”。

private void OnDetectPackageComplete(object sender, DetectPackageCompleteEventArgs e)
{
if (e.PackageId == "DummyInstallationPackageId")
{
if (e.State == PackageState.Absent)
InstallEnabled = true;
else if (e.State == PackageState.Present)
UninstallEnabled = true;
}
}

上面的代码示例来 self 关于创建 Custom WiX Managed Bootstrapper Application 所需的最少部分的博客文章.

关于wix - 自定义 Wix Burn Bootstrap 未检测到 MSI 安装状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14238488/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com