次の方法で共有


レジストリ情報の更新

キューが正常にコミットされたら、インストールする製品のレジストリ情報を更新する必要があります。 レジストリ情報を変更する前に、必要なすべてのファイルコピー操作が正常に完了するまで待つことをおすすめします。

レジストリを更新する方法の 1 つは、SPINST_INIFILES、SPINST_REGISTRY、またはSPINST_INI2REGフラグを指定して SetupInstallFromInfSection を呼び出す方法です。 これらのフラグは、 SetupInstallFromInfSection の 1 回の呼び出しで組み合わせることができます。

次の例では、SPINST_ALL^SPINST_FILES を使用して、関数がファイル操作を除くすべての一覧の操作を処理する必要があることを示します。 INI、レジストリ、およびファイルの操作のみが [インストール ] セクションに一覧表示されるため、これは関数がすべての INI およびレジストリ操作を処理する必要があることを指定する簡単な方法です。

次の例は、 SetupInstallFromINFSection 関数を使用してレジストリ情報をインストールする方法を示しています。

Test = SetupInstallFromINFSection (
     NULL,                     //Window to own any dialog boxes
                               //created 
     MyInf,                    //INF file containing the section 
     MySection,                //the section to install
     SPINST_ALL ^ SPINST_FILES,//which installation operations 
                               //to process
     NULL,                     //the relative root key
     NULL,                     //the source root path
     0,                        //copy style
     NULL,                     //Message handler routine
     NULL,                     //Context
     NULL,                     //Device info set
     NULL                      //device info data
);

この例では、ファイル操作によってダイアログ ボックスのみが生成されるため、親ウィンドウは必要ないため、 OwnerWindowNULL です 。 "MyInf" は、処理するセクションを含む INF ファイルです。 パラメーター "MySection" は、インストールするセクションを指定します。 ^SPINST_FILES SPINST_ALL組み合わされたフラグでは、処理するインストール操作 (この場合はファイル操作を除くすべての操作) を指定します。 ソース ルート パスは "A:\" として指定されます。

コピー操作は処理されていないため、 CopyFlagsMsgHandlerContextDeviceInfoSetおよび DeviceInfoData パラメーターは指定されません。