【问题标题】:How can I overwrite an error message occured on custom action如何覆盖自定义操作中出现的错误消息
【发布时间】:2014-05-07 07:59:54
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: installshield installshield-le


    【解决方案1】:

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

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

    【讨论】:

    • 似乎是正确的答案。感谢您的支持。
    猜你喜欢
    • 2019-08-18
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-15
    • 1970-01-01
    相关资源
    最近更新 更多