レジストリ情報の更新
キューが正常にコミットされたら、インストールする製品のレジストリ情報を更新する必要があります。 レジストリ情報を変更する前に、必要なすべてのファイル コピー操作が正常に完了するまで待機することをお勧めします。
レジストリを更新する 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_ALL ^ SPINST_FILESは、どのインストール操作を処理するかを指定します。この場合、ファイル操作を除くすべての操作が含まれます。 ソース ルート パスは "A:\" として指定されます。
コピー操作は処理されていないため、CopyFlags、MsgHandler、Context、DeviceInfoSet、および DeviceInfoData パラメーターは指定されません。