代码之家  ›  专栏  ›  技术社区  ›  Marcus

如何根据vbscript自定义操作结果中止InstallShield安装程序?

  •  3
  • Marcus  · 技术社区  · 16 年前

    我创建了一个vbscript自定义操作,用于检查某些注册表项,并在必要时对其进行更改。如果无法写入密钥或类似情况,则应中止安装。

    为了实现这一点,我设置了一个属性,我试图将其用作执行序列中下一步的条件,但这不起作用。

    我发现这不起作用,因为自定义操作在执行时无法写入属性。

    所以问题是:如何根据我的自定义操作来中止安装?是否有方法将“中止安装请求”传递给安装程序或类似的东西?

    2 回复  |  直到 16 年前
        1
  •  3
  •   Ken    16 年前

    如果你搜索 http://community.installshield.com 您将找到Robert Dickau的一篇文章,题为“从自定义操作退出MSI安装”。它位于以下链接:

    http://community.installshield.com/showthread.php?p=418197

    以下是他用作示例的代码片段:

    Function ExitSetupFromVBS( )
    
    Const IDABORT = 3
    
        ' ...do some work...
    
        ' abort the installation
        ExitSetupFromVBS = IDABORT
    
    End Function
    

    祝你好运。

        2
  •  0
  •   Web    16 年前

    您应该需要从函数中返回3表示失败,返回0或1表示成功。

    这是一篇关于这个主题的msdn文章: http://msdn.microsoft.com/en-us/library/aa371254(VS.85).aspx

    确保将脚本放在函数中。