レジストリ情報の更新
キューが正常にコミットされたら、インストールする製品のレジストリ情報を更新する必要があります。 レジストリ情報を変更する前に、必要なすべてのファイルコピー操作が正常に完了するまで待つことをおすすめします。
レジストリを更新する方法の 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
);
この例では、ファイル操作によってダイアログ ボックスのみが生成されるため、親ウィンドウは必要ないため、 OwnerWindow は NULL です 。 "MyInf" は、処理するセクションを含む INF ファイルです。 パラメーター "MySection" は、インストールするセクションを指定します。 ^SPINST_FILES SPINST_ALL組み合わされたフラグでは、処理するインストール操作 (この場合はファイル操作を除くすべての操作) を指定します。 ソース ルート パスは "A:\" として指定されます。
コピー操作は処理されていないため、 CopyFlags、 MsgHandler、 Context、 DeviceInfoSet、 および DeviceInfoData パラメーターは指定されません。