我创建了一个 vbscript 自定义操作,它检查一些注册表项并在必要时更改它们。如果无法写入密钥或类似情况,则应中止设置。
为了实现这一点,我设置了一个属性,我试图将其用作执行序列中下一步的条件,但这不起作用。
我发现这是行不通的,因为自定义操作在执行时无法写入属性。
所以问题是:如何根据我的自定义操作所说的来实现中止安装?有没有一种方法可以将“中止安装请求”传递给安装程序或类似的东西?
我创建了一个 vbscript 自定义操作,它检查一些注册表项并在必要时更改它们。如果无法写入密钥或类似情况,则应中止设置。
为了实现这一点,我设置了一个属性,我试图将其用作执行序列中下一步的条件,但这不起作用。
我发现这是行不通的,因为自定义操作在执行时无法写入属性。
所以问题是:如何根据我的自定义操作所说的来实现中止安装?有没有一种方法可以将“中止安装请求”传递给安装程序或类似的东西?
如果您在http://community.installshield.com上搜索,您会发现 Robert Dickau 的一篇题为“Exiting an MSI Installation from a Custom Action”的文章。它位于以下链接:
http://community.installshield.com/showthread.php?p=418197
这是他用作示例的代码片段:
Function ExitSetupFromVBS( )
Const IDABORT = 3
' ...do some work...
' abort the installation
ExitSetupFromVBS = IDABORT
End Function
祝你好运。
您应该需要从函数中返回 3 表示失败,返回 0 或 1 表示成功。
这是一篇关于该主题的 msdn 文章:http: //msdn.microsoft.com/en-us/library/aa371254 (VS.85).aspx
确保将脚本放入函数中。