アプリケーションの初期化
インストーラー機能を有効にするには、初期化中にアプリケーションでいくつかの関数を呼び出す必要があります。 詳細については、「インストール メカニズム」を参照してください。 次の手順では、インストーラーを使用してアプリケーションを初期化する方法について説明します。
アプリケーションを初期化するには
MsiGetProductCode 関数を呼び出して、アプリケーションがインストーラーに対して自身を識別できるようにします。
製品コードは、多くのインストーラー関数で必須のパラメーターです。
MsiGetUserInfo 関数を呼び出して、アプリケーションが初めて起動したときにユーザー情報を収集します。
MsiGetUserInfo の呼び出しが失敗した場合は、MsiCollectUserInfo 関数を呼び出してユーザー情報を収集します。
必要に応じて、MsiSetInternalUI 関数を呼び出して、既定のユーザー インターフェイスを表示します。
独自のユーザー インターフェイスを作成するには、MsiSetExternalUI 関数を呼び出して、それをインストーラーに登録します。
MsiEnableLog 関数を呼び出して、ログ レベルを設定します。
アプリケーションの機能を列挙することによって、使用可能な機能をユーザーに提供します。 機能は、次の方法で列挙できます。
- 機能ごとにインストーラーにクエリを実行します。 たとえば、アプリケーションが、ボタンまたはメニュー項目を描画する前に MsiQueryFeatureState 関数を呼び出して、その機能が使用可能であることをインストーラーが確認できるようにします。
- MsiEnumFeatures 関数を呼び出して、使用可能なすべての機能を一度に列挙します。 この関数を使用するには、アプリケーションが、インデックスを増分しながら MsiEnumFeatures を繰り返し呼び出す必要があります。
呼び出しごとにインデックス変数を増分しながら、次の列挙関数を繰り返し呼び出して、現在のインストールに関する詳細情報を取得します。
- MsiEnumProducts 関数を呼び出して、インストーラーに登録されている製品を列挙します。
- MsiEnumComponents 関数を呼び出して、コンポーネントを列挙します。
- MsiEnumComponentQualifiers 関数を呼び出して、コンポーネント修飾子を列挙します。
- MsiEnumClients 関数を呼び出して、特定のコンポーネントの製品を列挙します。
列挙関数の戻り値が ERROR_SUCCESS である場合は、列挙される項目がまだ存在するため、増分されたインデックス変数でこの関数を再度呼び出す必要があります。 戻り値が ERROR_NO_MORE_ITEMS である場合は、すべての項目が列挙されているため、この関数を再度呼び出さないでください。