레지스트리 정보 업데이트

큐가 성공적으로 커밋되면 설치 중인 제품에 대한 레지스트리 정보를 업데이트해야 합니다. 레지스트리 정보를 변경하기 전에 필요한 모든 파일 복사 작업이 성공적으로 완료될 때까지 기다리는 것이 좋습니다.

레지스트리를 업데이트하는 한 가지 방법은 지정된 SPINST_INIFILES, SPINST_REGISTRY 또는 SPINST_INI2REG 플래그를 사용하여 SetupInstallFromInfSection 을 호출하는 것입니다. 이러한 플래그는 SetupInstallFromInfSection에 대한 한 번의 호출에서 결합할 수 있습니다.

다음 예제에서는 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, DeviceInfoSetDeviceInfoData 매개 변수가 지정되지 않습니다.