如何覆盖自定义操作上发生的错误消息

时间:2014-05-07 07:59:55

标签: installshield installshield-le

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

custom action

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

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

使用此方法,安装shield的设置会显示错误消息,如预期:

enter image description here

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

1 个答案:

答案 0 :(得分:4)

在此处的行之间进行阅读,您的自定义操作会启动EXE。如果是这样,就没有办法按你的要求去做。您可以在返回非零退出代码之前显示来自EXE的消息,但Windows Installer仍会显示错误1722消息。

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