3

我通过自定义操作触发 c# 应用程序:

自定义动作

在失败的情况下,我的应用程序告诉 Install Shield 使用退出代码中止安装过程:

static void Main(string[] args)
{
    if(false)
    {
        Environment.ExitCode = 1;
    }
}

使用这种方法,Install shield 的设置会显示一条错误消息,如预期:

在此处输入图像描述

如何用自定义文本覆盖该错误消息?

4

1 回答 1

4

从这里的字里行间看,您的自定义操作似乎启动了一个 EXE。如果是这样,就没有办法按照你的要求去做。您可以在返回非零退出代码之前显示来自 EXE 的消息,但 Windows Installer 仍会显示错误 1722 消息。

如果您可以改为从 DLL 运行函数,则您有更多选择。除了返回错误之外,您还可以设置属性(假设这是一个立即模式操作),并且可以使用这些属性来做进一步的事情,例如显示另一个对话框,或者在没有错误 1722 消息的情况下退出安装。我不认为限量版中提供了所有必要的配置选项——你当然不能在 LE 中编辑对话框——所以要做到这一切,你必须改用功能更强大的工具(包括专业版或选项来自其他供应商)。

于 2014-05-07T12:11:38.087 回答