일반적인 호환성 문제

호환성 문제는 대체로 다음과 같은 기술에서 발생합니다.

  • UAC(사용자 계정 컨트롤): 컴퓨터에 대한 관리자 수준 액세스를 제한하고 대부분의 사용자가 표준 사용자로 실행되도록 제한하여 Windows에 보안을 추가합니다. UAC는 프로세스가 실행되는 컨텍스트를 제한하여 사용자가 바이러스나 기타 맬웨어에 컴퓨터를 실수로 노출시키는 것을 최소화합니다. UAC는 실행 시 관리자 권한이 필요하거나, 관리자 확인 또는 작업을 수행하거나, 비가상화된 레지스트리 위치에 쓰려고 하는 응용 프로그램 설치 관리자 또는 업데이트에 영향을 줍니다.

  • WRP(Windows 리소스 보호): 한 응용 프로그램이 보호된 시스템 파일이나 레지스트리 위치에 쓰려고 하는 경우에도 응용 프로그램이 제대로 작동할 수 있게 합니다. WRP는 임시 작업 영역을 만들고 응용 프로그램 세션에 대한 쓰기 작업을 리디렉션합니다. WRP는 보호된 운영 체제 파일이나 레지스트리 키를 바꾸거나 수정 또는 삭제하려고 하는 응용 프로그램 설치에 영향을 줍니다. 대체로 이러한 시도는 실패하고 액세스 거부됨 오류가 반환됩니다.

  • Internet Explorer 보호 모드: 임시 인터넷 파일 이외의 로컬 컴퓨터 영역 리소스에 쓰는 기능을 제한하여 권한 상승 공격으로부터 보호합니다. 이 모드는 사용자 파일 또는 레지스트리 키를 수정하거나 다른 도메인에서 새 창을 열려고 하는 웹 사이트 또는 웹 응용 프로그램에 영향을 줍니다.

  • 사용 중단: 사용이 중단된 이전 Windows 버전의 .dll 파일, 실행 파일(.exe), COM 개체, 레지스트리 키, API 또는 기타 파일을 사용하는 응용 프로그램은 기능이 손실되거나 시작되지 않을 수 있습니다.

  • GINA(그래픽 식별 및 인증) DLL: Windows Vista 릴리스 이전에는 ISV(Independent Software Vendor)가 GINA DLL을 설치하여 인증을 수정할 수 있었습니다. GINA DLL은 사용자 식별 및 인증을 수행했습니다.

    현재 인증 모델에서는 GINA DLL이 필요하지 않으며 이전 GINA DLL을 모두 무시합니다. 이 변경 내용은 생체 인식 장치(지문 판독기), 사용자 지정 사용자 인터페이스 및 사용자 지정 로그온 사용자 인터페이스가 있는 원격 사용자용 VPN(가상 사설망) 솔루션을 비롯한 사용자 지정 로그온 응용 프로그램을 사용하여 로그온을 시도하는 응용 프로그램 또는 하드웨어 구성 요소에 영향을 줍니다.

  • 세션 0: Windows Vista 릴리스 이전에는 컴퓨터에 로그온한 첫 번째 사용자가 시스템 서비스에 사용되는 것과 동일한 세션인 세션 0에서 실행되었습니다. 현재 모델에서는 시스템 서비스와 동일한 세션에서 실행되는 사용자가 없도록 모든 사용자가 세션 1 이상에서 실행되어야 합니다. 대화형 서비스를 사용하는 경우 응용 프로그램이 시작되지 않습니다. 대화형 서비스는 창 메시지를 보내거나, 창 또는 추가 서비스를 찾거나, 전역적으로 명명된 개체가 아닌 경우 동일한 명명된 개체를 여는 사용자 프로세스를 실행하려고 하는 모든 서비스입니다.

  • WFP(Windows 필터링 플랫폼): WFP는 개발자가 네트워크 스택의 여러 계층과 전체 운영 체제에서 수행되는 필터링과 상호 작용하는 코드를 만들 수 있게 하는 API입니다. 사용자 환경에서 이전 버전의 WFP API를 사용하는 경우 네트워크 검색, 바이러스 백신 또는 방화벽 응용 프로그램을 실행할 때 오류가 발생할 수도 있습니다.

  • 운영 체제 버전 변경: 운영 체제 버전 번호는 각 운영 체제가 릴리스될 때마다 변경됩니다. 응용 프로그램에서 GetVersion 함수를 쿼리하면 버전 번호가 반환됩니다. 이 변경 내용은 운영 체제 버전을 구체적으로 확인하고 설치 또는 응용 프로그램 실행을 차단할 수 있는 응용 프로그램이나 응용 프로그램 설치 관리자에 영향을 줍니다.

  • Windows 64비트: 64비트 버전의 Windows는 WOW64(Windows on Windows 64) 에뮬레이터를 사용합니다. 이 에뮬레이터를 통해 64비트 운영 체제에서 32비트 응용 프로그램을 실행할 수 있습니다. 이 에뮬레이터를 사용할 경우 16비트 실행 파일 또는 설치 관리자나 32비트 커널 드라이버를 사용하는 응용 프로그램이나 구성 요소가 시작되지 않거나 제대로 작동하지 않을 수 있습니다.