Valores devueltos de acciones personalizadas de JScript y VBScript

Las acciones personalizadas escritas en JScript o Visual Basic, Scripting Edition (VBScript) pueden llamar a una función opcional. Estas funciones deben devolver uno de los valores que se muestran en la tabla siguiente.

Valor devuelto Valor Descripción
msiDoActionStatusNoAction 0 Acción no ejecutada.
msiDoActionStatusSuccess IDOK = 1 Acción completada correctamente.
msiDoActionStatusUserExit IDCANCEL = 2 Terminación prematura por parte del usuario.
msiDoActionStatusFailure IDABORT = 3 Error irrecuperable. Se devuelve si se produce un error durante el análisis o la ejecución de JScript o VBScript.
msiDoActionStatusSuspend IDRETRY = 4 Secuencia suspendida que se reanudará más adelante.
msiDoActionStatusFinished IDIGNORE = 5 Omita las acciones restantes. No es un error.

 

Tenga en cuenta que Windows Installer traduce los valores devueltos de todas las acciones cuando escribe el valor devuelto en el archivo de registro. Por ejemplo, si el valor devuelto de la acción aparece como 1 (uno) en el archivo de registro, esto significa que la acción devolvió msiDoActionStatusSuccess. Para obtener más información sobre esta traducción, vea Registro de valores de acción devueltos.

Para devolver un valor distinto de correcto de una acción personalizada de script, debe usar un destino de función para la acción personalizada. La función de destino se especifica en la columna Target de la tabla CustomAction.

En el ejemplo de script siguiente se muestra cómo devolver el éxito o el error de una acción personalizada de VBScript.

Function MyVBScriptCA()

    If Session.Property("CustomErrorStatus") <> "0" Then
        'return error
        MyVBScriptCA = 3
        Exit Function
    End If

    ' return success
    MyVBScriptCA = 1
    Exit Function

End Function

Si este VBScript se incrustaba en la tabla Binary del paquete de instalación como MyCA.vbs, la entrada CustomAction Table del script sería la siguiente:

Acción Tipo Source Destino
MyCustomAction 6 MyCA.vbs MyVBScriptCA