【问题标题】:Abort setup accourding function returned value using InstallShield Spring使用 InstallShield Spring 根据函数返回值中止设置
【发布时间】:2013-10-24 08:31:48
【问题描述】:

我正在尝试使用 InstallShield 2012 Spring 设置一个简单的应用程序, 并且在安装的某个点,我想根据继续或退出安装程序检查可用磁盘空间。

所以,我的主要疑问是如何根据 DLL 中方法的返回值退出安装?

我定义了一个要在“文件传输后”执行的 c# 自定义操作,但我不知道如何退出设置

【问题讨论】:

    标签: c# installshield installshield-2012


    【解决方案1】:

    您有三个选择:

    • 返回return value known to MSI,假设您正在使用InstallShield 的托管代码自定义操作并处理返回代码。 (最常见的代码有 0 表示成功,1602 表示用户取消,1603 表示失败。)
    • 抛出异常,假设相同,将被视为 ERROR_INSTALL_FAILURE。
    • 设置一个属性并使用另一个自定义操作(例如类型 19 错误操作)来退出安装。

    您可以结合第一种和第三种方法来设置属性,以调整将显示在与您选择的返回码相对应的结束对话框中的消息。该对话框是根据InstallUISequence table(SetupCompleteSuccess、SetupCompleteError 等)的负面序列选择的。

    【讨论】:

    • 谢谢。我正在使用您的第一个建议。但现在我的疑问是如何根据返回类型执行操作。例如:如果返回是 ERROR_FUNCTION_NOT_CALLED 我想显示一个自定义对话框。你能给我一个想法来做这个或一些教程吗?谢谢
    • 您可以将上述内容与负值序列结合起来 - 请参阅 msdn.microsoft.com/en-us/library/windows/desktop/aa369500.aspx - 并使用属性在显示的相应对话框上调整消息。或者,您可以将消息显示为原始自定义操作的一部分(更简单,但体验更差)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-01
    • 2014-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多