다음을 통해 공유


배포 및 종속성

업데이트: 2007년 11월

Visual Studio에서 배포 도구는 프로젝트 출력 그룹, 어셈블리 또는 병합 모듈이 프로젝트에 추가될 때마다 종속성을 자동으로 감지하여 배포 프로젝트에 추가합니다. 하지만, 일부 경우에는 종속성을 감지할 수 없습니다.

팁:

어셈블리를 배포 프로젝트에 직접 추가하는 대신 어셈블리를 포함하는 프로젝트 출력 그룹을 추가하는 것이 좋습니다. 배포 도구는 프로젝트 출력 그룹의 종속성을 쉽게 감지할 수 있습니다.

어셈블리의 경우, 다른 어셈블리에 대한 모든 종속성이 감지됩니다. 하지만, 관리되지 않는 구성 요소(예: COM .dll)를 어셈블리가 참조하는 경우 이 구성 요소의 모든 종속성은 감지되지 않을 것입니다. 또한, 배포 프로젝트에 직접 추가된 파일에 감지되지 않는 종속성이 포함될 수 있습니다. 두 경우 모두 응용 프로그램을 실행하는 데 종속성 파일이 필요하지만, 설치 관리자가 실행되는 것을 막지는 않습니다.

이 문제가 발생하는 것을 막으려면 다음과 같이 종속성의 형식을 먼저 결정한 다음 적절한 동작을 취해야 합니다.

  • 다른 제품의 일부분으로만 설치될 수 있는 구성 요소를 참조하는 경우일 수 있습니다. 예를 들어, 웹 브라우저 컨트롤(shdocvw.dll))은 Internet Explorer의 일부분으로 설치됩니다.

    이 경우는 배포 프로젝트에서 이 구성 요소를 제외하고, 대상 컴퓨터 상에서 구성 요소를 검사한 다음 구성 요소가 발견되지 않는 경우 설치를 중단합니다. 응용 프로그램을 설치하기 전, 최종 사용자는 이 구성 요소를 제공하는 제품을 설치해야 합니다.

  • 모든 종속성을 노출하지 않는 관리되지 않는 구성 요소(예: MFC)를 추가하는 경우일 수 있습니다. 이 구성 요소에는 지역화된 위성 파일이 종속성으로 포함되지 않습니다.

    이 경우는 가능한 모든 종속성을 결정하고 배포 프로젝트에 이 종속성을 포함시켜야 합니다. 사용자는 구성 요소를 설명서에서 확인하거나 구성 요소 작성자에게 연락하여 종속성 목록을 구해야 합니다.

    참고:

    Depends.exe 같은 대부분의 종속성 검사 도구는 초기 바인딩된 종속성만 찾고 런타임에 바인딩된 종속성은 런타임에만 나타납니다.

  • 관리되지 않는 구성 요소에 종속되어 있는 어셈블리를 참조하는 경우일 수 있습니다. MDAC(Microsoft Data Access Components) 버전 2.8에 종속되어 있는 System.Data.dll을 예로 들 수 있습니다. 자세한 내용은 방법: Microsoft Data Access Components의 시작 조건 추가를 참조하십시오.

    모든 종속 파일을 설치하려면, 구성 요소와 종속성이 포함된 병합 모듈을 추가할 수 있습니다. 병합 파일 가용 여부를 확인하려면 구성 요소 제작자에게 연락할 수 있습니다. 상당수 Microsoft 구성 요소의 병합 모듈은 Microsoft 웹 사이트에서 구할 수 있습니다.

    병합 파일을 구할 수 없는 경우, 시작 조건을 추가하여 설치 시에 구성 요소를 검사한 다음 구성 요소가 없는 경우 설치를 중단할 수 있습니다.

참고 항목

작업

방법: 프로젝트 출력 그룹에서 파일 제외

방법: Microsoft Data Access Components의 시작 조건 추가

기타 리소스

배포 시 시작 조건 관리