Initialisieren einer Anwendung
Um die Installer-Funktionalität zu aktivieren, muss eine Anwendung bei der Initialisierung verschiedene Funktionen aufrufen. Weitere Informationen finden Sie unter Installationsmechanismus. In den folgenden Schritten wird beschrieben, wie Sie den Installer verwenden, um eine Anwendung zu initialisieren:
So initialisieren Sie eine Anwendung
Rufen Sie die MsiGetProductCode-Funktion auf, damit sich die Anwendung beim Installer identifizieren kann.
Der Produktcode ist für viele Installer-Funktionen ein erforderlicher Parameter.
Rufen Sie die MsiGetUserInfo-Funktion auf, um Benutzerinformationen beim ersten Start der Anwendung zu sammeln.
Wenn MsiGetUserInfo nicht aufgerufen werden kann, rufen Sie die MsiCollectUserInfoFunktion auf, um Benutzerinformationen zu sammeln.
Zeigen Sie bei Bedarf eine Standardbenutzeroberfläche an, indem Sie die MsiSetInternalUI-Funktion aufrufen.
Um Ihre eigene Benutzeroberfläche zu erstellen, registrieren Sie sie beim Installer, indem Sie die MsiSetExternalUI-Funktion aufrufen.
Rufen Sie die MsiEnableLog-Funktion auf, um den Protokolliergrad festzulegen.
Stellen Sie Benutzer*innen die verfügbaren Features Ihrer Anwendung bereit, indem Sie sie auflisten. Sie können Features wie folgt auflisten:
- Fragen Sie den Installer einzeln nach jedem Feature ab. Bevor die Anwendung beispielsweise eine Schaltfläche oder ein Menüelement darstellt, wird die MsiQueryFeatureState-Funktion aufgerufen, damit der Installer überprüfen kann, ob das Feature verfügbar ist.
- Listen Sie alle verfügbaren Features gleichzeitig auf, indem Sie die MsiEnumFeatures-Funktion aufrufen. Um diese Funktion verwenden zu können, muss die Anwendung MsiEnumFeatures wiederholt aufrufen, während ein Index inkrementiert wird.
Rufen Sie ausführliche Informationen zur aktuellen Installation ab, indem Sie die folgenden Enumerationsfunktionen wiederholt aufrufen und für jeden Aufruf eine Indexvariable inkrementieren:
- Rufen Sie die MsiEnumProducts-Funktion auf, um Produkte aufzulisten, die beim Installer registriert sind.
- Rufen Sie die MsiEnumComponents-Funktion auf, um Komponenten aufzulisten.
- Rufen Sie die MsiEnumComponentQualifiers-Funktion auf, um Komponentenqualifizierer aufzulisten.
- Rufen Sie die MsiEnumClients-Funktion auf, um die Produkte für eine bestimmte Komponente aufzulisten.
Wenn für eine Enumerationsfunktion der Wert ERROR_SUCCESS zurückgegeben wird, sind noch weitere aufzulistende Elemente vorhanden, und die Funktion sollte mit einer inkrementierten Indexvariable erneut aufgerufen werden. Wenn der Wert ERROR_NO_MORE_ITEMS zurückgegeben wird, wurden alle Elemente aufgelistet, und die Funktion muss nicht erneut aufgerufen werden.