Inizializzazione di un'applicazione

Per abilitare la funzionalità del programma di installazione, un'applicazione deve chiamare una serie di funzioni durante l'inizializzazione. Per altre informazioni, vedere Meccanismo di installazione. I passaggi seguenti descrivono come usare il programma di installazione per inizializzare un'applicazione:

Per inizializzare un'applicazione

  1. Chiamare la funzione MsiGetProductCode in modo che l'applicazione possa identificarsi con il programma di installazione.

    Il codice prodotto è un parametro obbligatorio per molte funzioni del programma di installazione.

  2. Chiamare la funzione MsiGetUserInfo per raccogliere informazioni sull'utente la prima volta che l'applicazione viene avviata.

    Se la chiamata a MsiGetUserInfo ha esito negativo, chiamare la funzione MsiCollectUserInfo per raccogliere informazioni sull'utente.

  3. Visualizzare un'interfaccia utente predefinita, se necessario, chiamando la funzione MsiSetInternalUI .

    Per creare un'interfaccia utente personalizzata, registrarla con il programma di installazione chiamando la funzione MsiSetExternalUI .

  4. Chiamare la funzione MsiEnableLog per impostare il livello di registrazione.

  5. Presentare all'utente le funzionalità disponibili enumerando le funzionalità dell'applicazione. È possibile enumerare le funzionalità nei modi seguenti:

    • Eseguire una query sulla funzionalità del programma di installazione in base alla funzionalità. Ad esempio, prima che l'applicazione disegni un pulsante o una voce di menu, l'applicazione chiami la funzione MsiQueryFeatureState in modo che il programma di installazione possa verificare che la funzionalità sia disponibile.
    • Enumerare tutte le funzionalità disponibili contemporaneamente chiamando la funzione MsiEnumFeatures . Per usare questa funzione, l'applicazione deve chiamare ripetutamente MsiEnumFeatures durante l'incremento di un indice.
  6. Ottenere informazioni dettagliate sull'installazione corrente chiamando ripetutamente le funzioni di enumerazione seguenti, incrementando una variabile di indice per ogni chiamata:

    • Chiamare la funzione MsiEnumProducts per enumerare i prodotti registrati con il programma di installazione.
    • Chiamare la funzione MsiEnumComponents per enumerare i componenti.
    • Chiamare la funzione MsiEnumComponentQualifiers per enumerare i qualificatori dei componenti.
    • Chiamare la funzione MsiEnumClients per enumerare i prodotti per un determinato componente.

    Se il valore restituito in una funzione di enumerazione è ERROR_SUCCESS, sono ancora presenti altri elementi da enumerare e la funzione deve essere chiamata nuovamente con una variabile di indice incrementata. Se il valore restituito è ERROR_NO_MORE_ITEMS, tutti gli elementi sono stati enumerati e la funzione non deve essere chiamata di nuovo.