Compartir a través de


Inicialización de una aplicación

Para habilitar la funcionalidad del instalador, una aplicación debe llamar a una serie de funciones cuando se inicializa. Para más información, consulte Mecanismo de instalación. En los pasos siguientes, se describe cómo usar el instalador para inicializar una aplicación:

Para inicializar una aplicación

  1. Llame a la función MsiGetProductCode para que la aplicación pueda identificarse en el instalador.

    El código del producto es un parámetro necesario para muchas funciones del instalador.

  2. Llame a la función MsiGetUserInfo para recopilar información del usuario la primera vez que se inicia la aplicación.

    Si se produce un error en la llamada a MsiGetUserInfo, llame a la función MsiCollectUserInfo para recopilar información del usuario.

  3. Muestre una interfaz de usuario predeterminada, si es necesario, mediante una llamada a la función MsiSetInternalUI.

    Para crear su propia interfaz de usuario, regístrela con el instalador mediante una llamada a la función MsiSetExternalUI.

  4. Llame a la función MsiEnableLog para establecer el nivel de registro.

  5. Presente al usuario las características disponibles mediante la enumeración de las características de la aplicación. Puede enumerar las características de las siguientes maneras:

    • Consulte al instalador característica por característica. Por ejemplo, antes de que la aplicación dibuje un botón o un elemento de menú, la aplicación llama a la función MsiQueryFeatureState para que el instalador pueda comprobar que la característica está disponible.
    • Enumere todas las características disponibles a la vez mediante una llamada a la función MsiEnumFeatures. Para usar esta función, la aplicación debe llamar a MsiEnumFeatures repetidamente e incrementar al tiempo un índice.
  6. Obtenga información detallada sobre la instalación actual mediante una llamada a las siguientes funciones de enumeración repetidamente, incrementando una variable de índice para cada llamada:

    Si el valor devuelto en una función de enumeración es ERROR_SUCCESS, todavía hay más elementos que se van a enumerar y se debe llamar a la función de nuevo con una variable de índice incrementada. Si el valor devuelto es ERROR_NO_MORE_ITEMS, se han enumerado todos los elementos y no se debe llamar a la función de nuevo.