AnswerFile 검사

참고 공급업체에서 제공하는 네트워크 업그레이드는 Microsoft Windows XP(SP1 이상), Microsoft Windows Server 2003 이상 운영 체제에서 지원되지 않습니다.

업그레이드 중인 시스템에 "설치 프로그램이 파일 복사 중임" 진행률 표시줄이 표시되기 직전에 AnswerFile이 만들어집니다. NetSetup 및 공급업체에서 제공하는 네트워크 마이그레이션 DLL은 AnswerFile에서 섹션을 만든 다음 Winnt32 업그레이드 단계에서 이러한 섹션에 항목을 씁니다.

c:\$win_nt$.~bt\winnt.sif를 %TEMP%복사하여 AnswerFile을 검사할 수 있습니다. AnswerFile이 복사된 후 [취소 ]를 클릭하여 파일 복사를 취소할 수 있습니다. 파일 복사가 완료될 때까지 기다릴 필요가 없습니다.

다음 표에서는 AnswerFile의 최상위 섹션과 네트워크 구성 요소와 관련된 각 섹션에 포함된 해당 항목을 나열합니다.

섹션 포함된 항목

NetAdapters

ISDN 어댑터를 포함한 네트워크 어댑터

AsyncAdapters

비동기 어댑터

NetProtocols

네트워크 프로토콜

NetServices

네트워크 서비스

NetClients

네트워크 클라이언트

참고NetClient 구성 요소는 Windows 8.1, Windows Server 2012 R2 이상에서 더 이상 사용되지 않습니다.

Winnt32 단계에서 찾은 각 네트워크 구성 요소에 대해 NetSetup은 AnswerFile의 적절한 최상위 섹션에 항목을 씁니다. 각 항목의 형식은 다음과 같습니다.

params. postupgrade-ID

사후 업그레이드 ID 항목은 NetSetup이 구성 요소의 netmap.inf 파일에서 가져온 Windows 2000 이상 디바이스 ID입니다.

각 항목은 AnswerFile에서 해당 구성 요소에 대한 매개 변수 섹션의 이름을 지정합니다. 예를 들어 구성 요소의 Windows 2000 이상 디바이스 ID가 netadapter2인 경우 NetAdapters 섹션의 항목은 params.netadapter2입니다. AnswerFile의 최상위 섹션 및 매개 변수 섹션은 네트워크 마이그레이션 DLL에 표시되지 않습니다.

구성 요소의 매개 변수 섹션 이름에 NetSetup은 확장 OemSection 을 추가하여 구성 요소의 OEM 섹션 이름을 만듭니다. 예를 들어 구성 요소의 매개 변수 섹션이 params.netadapter2인 경우 구성 요소의 OEM 섹션 이름은 params.netadapter2.OemSection입니다. NetSetup은 구성 요소에 대한 네트워크 마이그레이션 DLL에서 제공하는 DoPreUpgradeProcessing 함수에 SzSectionName 매개 변수로 OEM 섹션 이름을 전달합니다. DoPreUpgradeProcessing 함수는 NetUpgradeAddSection 함수를 호출하여 AnswerFile의 구성 요소에 대한 OEM 섹션을 만듭니다. 그런 다음, DoPreUpgradeProcessing 함수는 NetUpgradeAddLineToSection을 호출하여 구성 요소 관련 정보를 OEM 섹션에 추가합니다.

AnswerFile의 다음 부분에서는 Windows 2000 이상 디바이스 ID가 adapter2인 네트워크 어댑터에 대한 섹션 및 항목을 보여 줍니다.

[NetAdapter]              ;top-level adapters section
adapter2=params.adapter2      ;entry for adapter2
[params.adapter2]          ;parameters section for adapter2
InfID=adapter2            ;Windows 2000 or later device ID
OemSection=params.adapter2.OemSection  ;Identifies the OemSection

[params.adapter2.OemSection]  ;OemSection created by migration DLL
InfToRunAfterInstall="", adapter2.SectionToRun ;Written by DLL

[adapter2.SectionToRun]      ;Section created by migration DLL
AddReg=adapter2.SectionToRun.AddReg ;AddReg directive

[adapter2.SectionToRun.AddReg] ;AddReg section created by DLL
HKR,0\0,IsdnPhoneNumber,0,"111-1111" ;AddReg entries written by DLL
HKR,0\1,IsdnPhoneNumber,0,"222-2222"
HKR,0\0,IsdnSpid,0,"111"
HKR,0\1,IsdnSpid,0,"222"
HKR,0,IsdnSwitchType,0x00010001,1

GUI 모드 단계에서 NetSetup은 마이그레이션 DLL에서 작성한 InfToRunAfterInstall 키를 예제 AnswerFile의 params.adapter2.OemSection 으로 검색합니다. 이 키의 지시에 따라 NetSetup은 adapter2.SectionToRun.AddReg 섹션을 처리합니다. adapter2.SectionToRun.AddReg 섹션은 NetSetup이 Windows 2000 이상 레지스트리에서 adapter2의 인스턴스 키에 매개변수 값을 추가하도록 지시합니다. 이러한 매개 변수 값은 마이그레이션 DLL이 업그레이드의 Winnt32 단계에서 어댑터2의 레지스트리에서 읽은 사전 업그레이드 매개 변수 값과 일치해야 합니다.

GUI 모드 단계에서 네트워크 마이그레이션 DLL을 로드하는 경우 DoPreUpgradeProcessing 함수는 NUA_LOAD_POST_UPGRADE 플래그를 설정합니다. 이 플래그를 사용하면 NetSetup이 AnswerFile의 구성 요소 매개 변수 섹션에 OemDllToLoad 항목을 씁니다. OemDllToLoad 항목을 사용하면 NetSetup이 GUI 모드 단계 동안 구성 요소에 대한 마이그레이션 DLL을 로드합니다.

다음 예제에서는 GUI 모드 단계 중에 네트워크 마이그레이션 DLL이 로드되는 구성 요소에 대한 AnswerFile 섹션 및 항목을 보여 둡니다.

[NetAdapter]              ;top-level adapters section
adapter2=params.adapter2      ;entry for adapter2
[params.adapter2]          ;parameters section for adapter2
InfID=adapter2            ;postupgrade device ID
OemSection=params.adapter2.OemSection;Identifies the OemSection
OemDllToLoad=c:\temp\oem0001\migration.dll

params.adapter2 섹션의 OemDllToLoad 항목을 확인합니다. 또한 마이그레이션 DLL은 params.adapter2.OemSection을 만들지 않았습니다. 마이그레이션 DLL이 GUI 모드 단계 중에 로드되는 경우 일반적으로 InfToRunAfterInstall 키를 AnswerFile에 쓰지 않습니다. DLL은 사후 설치 업그레이드를 수행합니다. 따라서 GUI 모드 단계에서 수행할 NetSetup에 대한 지시문이 포함된 Oem-Section 이름을 만들 필요가 없습니다.