2009-08-24 3 views
6

웹 응용 프로그램 설치 프로그램을 만드는 동안 오류가 발생했습니다 (C#). 오류는소스 파일 X는 Windows 시스템 파일 보호 아래에 있습니다 C#?

입니다. 오류 19 'msado20.tlb'의 소스 파일 'C : \ Program Files \ Common Files \ system \ ado \ msado20.tlb'이 Windows 시스템 파일 보호에 포함되어 있기 때문에 'msado20.tlb'을 제외해야합니다.

무슨 뜻입니까?

답변

6

파일을 설치 프로그램에서 제외해야합니다. MSDN

에서

지정된 파일 2003 보호 된 시스템 파일은 일반적으로 Windows와 같은 운영 체제 서비스 팩 또는 별도의 설치 패키지를 통해 설치되어있는 Windows 2000, Windows XP 및 Windows Server에서 보호 된 시스템 파일입니다 미디어 플레이어 또는 Internet Explorer. 설치 프로그램에이 파일을 포함하면 보호 된 시스템 파일을 지원하지 않는 운영 체제에 설치하면 불안정해질 수 있습니다. 예를 들어 시스템 폴더 외부에 stdole.tlb과 같은 구성 요소를 설치하고 등록하면 시스템 파일 보호 아래에있는 구성 요소의 등록을 덮어 씁니다. 응용 프로그램을 제거하면 응용 프로그램에서 설치 한 구성 요소가 제거되고 시스템 파일 보호 아래의 구성 요소는 인 상태가 미등록 상태가됩니다.

안녕히 계십시오.

+0

Windows 시스템 파일 보호에서 파일이 시스템에 따라 다르므로이 시스템에 문제가 있습니다. 우리의 dev 컴퓨터는 예를 들어 msxml6.dll을 보호하지 않지만 우리의 빌드 머신은이 파일을 종속물로 인식하고 탐지합니다. 즉, 우리의 dev 컴퓨터가 설정 프로젝트에 대한 변경 사항을 체크인하면 msxml6.dll을 제거하고 빌드를 중단합니다. – Shiv

0

Windows 파일 보호 시스템은 중요한 시스템 파일의 덮어 쓰기를 중지합니다. 설치 관리자는 이와 같은 파일을 설치하고 싶지 않습니다.

문제의 파일이 Microsoft ADO의 일부인 것처럼 보입니다. 따라서 설치 프로그램을 통해이 파일을 설치하는 대신 응용 프로그램에 필요한 ADO 버전이 설치되어 있어야합니다.