운영 체제 업그레이드

오디오 디바이스의 드라이버 및 레지스트리 설정은 운영 체제 업그레이드에서 자주 보존될 수 있습니다. 아래 설명에서는 이 작업을 수행하기 위한 몇 가지 지침을 제공합니다.

오디오 설정 유지

오디오 어댑터 드라이버는 시스템 레지스트리에서 현재 디바이스 설정(주로 볼륨 수준 및 음소거 설정)을 추적할 수 있습니다. 드라이버는 일반적으로 이러한 설정을 "설정" 하위 키 아래의 시스템 제공 드라이버 키(INF 키워드 HKR로 표시)에 저장합니다. 사용자가 제어판 또는 다른 오디오 애플리케이션을 통해 이러한 설정을 변경하면 드라이버가 적절한 레지스트리 항목을 업데이트합니다. 시스템이 부팅할 때마다 드라이버는 레지스트리에서 디바이스 설정을 복원합니다.

Windows Me/98에서 Windows XP 또는 Windows 2000으로 업그레이드하는 경우 Windows 설치 프로그램에서 이러한 설정을 유지할 수 없습니다.

그러나 Windows 98에서 Windows Me로 업그레이드하거나 한 NT 기반 운영 체제에서 다른 운영 체제(예: Windows 2000에서 Windows XP로)로 업그레이드하는 경우 설치 프로그램은 드라이버의 기존 레지스트리 설정을 그대로 유지합니다. 사용자는 운영 체제를 업그레이드할 때마다 설정을 수동으로 복원하도록 강제하는 대신 시간이 지남에 따라 시스템에 대한 조정을 유지하므로 이 동작을 주로 선호합니다.

그러나 일부 독점 드라이버는 설치될 때마다 기본값으로 이러한 레지스트리 설정을 맹목적으로 덮어씁니다. 더 나은 방법은 드라이버가 설치 시 특정 드라이버별 레지스트리 항목이 이미 있는지 여부를 확인하는 것입니다. 해당 항목이 있는 경우 드라이버는 이러한 항목을 덮어쓰는 대신 이러한 항목에 포함된 설정을 유지해야 합니다.

드라이버의 INF 파일의 추가 레지스트리 섹션에 있는 지시문은 기존 레지스트리 항목을 덮어쓸지 여부를 지정합니다. 자세한 내용은 INF AddReg 지시문의 FLG_ADDREG_NOCLOBBER 플래그에 대한 설명을 참조하세요.

마이그레이션 DLL

Windows Me/98에서 NT 기반 운영 체제(Windows 2000 이상)로 업그레이드하는 동안 Windows 설치 프로그램은 Windows Me/98에 설치된 디바이스 드라이버를 호환되지 않는 것으로 처리하고 드라이버와 해당 레지스트리 설정을 모두 삭제합니다.

또한 Windows 2000 설치 프로그램에서 디바이스에 대한 기본 제공 드라이버 지원을 찾지 못하면 프로그램에서 즉시 사용자에게 드라이버 소프트웨어를 제공하라는 메시지를 표시합니다. Windows XP 이상에서는 설치 프로그램이 기본 제공 또는 Windows 업데이트 사이트에서 적합한 드라이버를 찾을 수 없는 경우 업그레이드가 완료될 때까지 대기하여 누락된 드라이버를 사용자에게 알릴 수 있습니다.

드라이버가 이러한 업그레이드 중에 레지스트리 설정이 손실되는 것을 방지할 수는 없지만 마이그레이션 DLL을 사용하여 호환되는 드라이버를 사용자에게 투명하게 다시 설치하는 것이 좋습니다. 이를 위해 Microsoft는 WDK(Windows 드라이버 키트)의 설치 플러그 앤 플레이 샘플에 포함된 Devupgrd 마이그레이션 DLL을 제공합니다. 샘플에는 마이그레이션 DLL을 설명하는 도움말 파일이 포함되어 있습니다.

마이그레이션 DLL은 처음에 Windows Me/98에 설치되었지만 Windows 2000 또는 Windows XP에서 실행할 수 있는 WDM 드라이버에서만 사용해야 합니다. 마이그레이션 DLL은 Windows Me/98에서 Windows Server 2003, Windows Vista 이상으로 드라이버를 업그레이드할 수 없습니다. Windows Me/98에서 Windows XP 또는 Windows 2000으로만 드라이버를 업그레이드할 수 있습니다.

Windows Me/98에서 Windows XP 또는 Windows 2000으로 업그레이드하는 동안 마이그레이션 DLL은 다음을 수행합니다.

  • Windows Me/98 레지스트리의 위치에서 디바이스 드라이버의 마이그레이션 정보를 읽습니다.

  • 디바이스가 Windows XP 또는 Windows 2000에서 제대로 설치되도록 드라이버의 INF 파일에 필요한 정보를 추가합니다.

나중에 Windows XP 또는 Windows 2000 설치 프로그램에서 마이그레이션 정보를 사용할 수 있도록 하려면 Windows Me/98에서 디바이스를 설치하는 INF 파일은 다음을 수행해야 합니다.

  • 마이그레이션 DLL을 INF 지정 백업 디렉터리에 복사하고 해당 디렉터리의 경로 이름을 Windows Me/98 레지스트리에 추가합니다.

  • 마이그레이션할 수 있는 디바이스를 식별하는 디바이스 ID를 레지스트리에 추가합니다.

  • 디바이스 드라이버 파일(.sys 및 .inf)의 백업 복사본을 INF 지정 백업 디렉터리에 저장하고 해당 디렉터리의 경로 이름을 레지스트리에 추가합니다.

업그레이드하는 동안 Windows XP 또는 Windows 2000 설치 프로그램은 등록된 디바이스 ID의 INF 검색 경로에 백업 디렉터리 이름을 추가합니다.

위에서 설명한 대로 설치 프로그램은 Windows Me/98에서 Windows XP 또는 Windows 2000으로 업그레이드하는 동안 드라이버의 레지스트리 설정을 삭제합니다. 마이그레이션 DLL의 도움으로 수행되는 드라이버 다시 설치는 드라이버의 볼륨, 음소거 및 기타 설정이 초기 기본값을 가정하는 "클린 설치"입니다.

WDK(Windows 드라이버 키트)의 Ac97 오디오 어댑터 샘플에는 오디오 드라이버를 Windows Me/98에서 Windows XP 또는 Windows 2000으로 마이그레이션하는 INF 파일(Ac97smpl.inf)의 예가 포함되어 있습니다.