다음을 통해 공유


VSPackage 설치 시나리오

VSPackage 설치 관리자를 유연 하 게 설계 하는 것이 중요 합니다. 예를 들어, 보안 패치를 릴리스 할 수 있습니다 또는 철저 하 게-병렬 버전 관리 지원에 필요한 비즈니스 전략을 변경할 수 있습니다.

Visual Studio 여러 버전을 지 원하는, 한-병렬 설치를 지 원하는 문제에 대 한 읽을 수 있는 Visual Studio 공유 또는 세로로 나란히 설치 하면 VSPackage. 즉, 가장 유연 하 게 새 기능을 지원 제공 쪽으로 나란히 VSPackages Visual Studio.

이 항목에서 설명 하는 시나리오만을 선택할 수, 수 없지만 제안 된 최상의 방법으로 아래에 표시 됩니다.

구성 요소, 개인 정보 보호 및 공유

독립 구성 요소를 확인 하십시오

식별 하 고 구성 요소를 채우는 후 할당 된 GUID, 및 구성 요소 배포에 잘라 구성을 변경할 수 없습니다. 구성 요소의 구성을 변경 하지 않으면 결과 구성 요소는 새 구성 요소와 새로운 이어야 합니다 GUID. 이러한 사실을 감안 하 각 구성 요소 단위 독립적이 고 self-reliant 하 여 가장 뛰어난 버전 관리 유연성 제공 됩니다. 구성 요소를 제어 하는 규칙에 대 한 자세한 내용은 참조 하십시오. 구성 요소 코드가 변경하면 어떻게 됩니다 구성 요소 규칙 끊어진?.

공유 및 개인 리소스의 구성 요소에서를 혼합 하지

참조 횟수 구성 요소 수준에서 발생합니다. 결과적으로 공유 및 개인 리소스 하나의 구성 요소를 혼합 하 여 안정성을 private 리소스 예: 실행 파일을 또한 공유 리소스를 덮어쓰지 않고 업데이트할 수 있습니다. 이 경우 이전 버전과 호환성 문제를 만들고 나란히 비교 기능을 만드는 제한 합니다.

예를 들어 레지스트리 값을 사용 하면 Vspackage를 등록 하는 Visual Studio SDK 구성 요소에 열 중 하면 Vspackage를 등록 하는 데 별도 보관 해야 Visual Studio. 공유 파일 또는 레지스트리 값의 다른 구성 요소를 이동합니다.

시나리오 1: 공유 VSPackage

이 시나리오에서는 공유 VSPackage (의 여러 버전을 지 원하는 단일 바이너리 Visual Studio)에서 Windows Installer 패키지를 제공 합니다. 각 등록 Visual Studio 사용자 선택 가능한 기능 모두를 통해 제어 됩니다. 또한 분리 기능을 할당 하는 경우 각 구성 요소가 개별적으로 설치 또는 제거, 사용자가 컨트롤의 다른 버전에 있는 VSPackage 통합에서 배치에 대 한 선택할 수 있습니다 있다는 의미 Visual Studio. (참조 하십시오 Windows Installer 기능 Windows Installer 패키지의 기능을 사용 하 여에 대 한 자세한 내용은.)

공유 VSPackage 설치 관리자

VS 공유 VSPackage 그래픽

그림에서와 같이 항상 설치 되어 Feat_Common 기능의 일부 공유 구성 요소 수행 됩니다. 표시 하는 Feat_VS2002 및 Feat_VS2003 기능 여로 버전을 사용자가 설치 시에 선택할 수 있습니다 Visual Studio Vspackage를 통합 하는 것인가. 사용자가 사용할 수 있습니다 Windows 설치 유지 관리 모드 추가 또는 경우 추가 하거나 VSPackage 등록 정보의 다른 버전에서 제거 기능을 제거 하려면 Visual Studio.

참고

0으로 설정 하는 기능이 표시 열이 숨겨집니다.1 등 낮은 수준 열 값을 항상 설치 되도록 합니다.자세한 내용은 INSTALLLEVEL 속성이기능 테이블.

시나리오 2: 공유 VSPackage 업데이트

이 시나리오에서는 VSPackage 설치 시나리오 1의 업데이트 된 버전이 제공 됩니다. 토론을 위해 업데이트에 대 한 지원을 추가 Visual Studio, 간단 하 게 보안 패치나 버그 수정 서비스 팩 될 수도 있습니다. 변경 되지 않은 구성 요소가 시스템에 이미 없습니다 되는 새 구성 요소 설치에 대 한 Windows Installer의 규칙이 필요 합니다. 이 경우 시스템에 이미 있는 1.0 버전 업데이트 된 구성 요소의 Comp_MyVSPackage.dll 덮어쓰기 하 고 사용자가 comp_vs2005_reg의 구성 요소와 Feat_VS2005 새로운 기능을 추가 하도록 선택할 수 있습니다.

경고

여러 버전 간에 있는 Vspackage를 공유할 때마다 Visual Studio에 있는 VSPackage 이후에 출시 이전 버전과 이전 버전과의 호환성을 유지 하는 것이 중요 Visual Studio.이전 버전과 호환성을 유지할 수 없는 경우, 왼쪽 / 오른쪽, 개인 Vspackages를 사용 해야 합니다.자세한 내용은 Visual Studio 여러 버전을 지 원하는를 참조하십시오.

업데이트 설치 프로그램 VSPackage 공유

VS 공유 VS 패키지 업데이트 이미지

이 경우 새 VSPackage 부분적 업그레이드에 대 한 Windows Installer 지원 이용 설치 관리자를 제공 합니다. 사용자가 버전 1.1을 설치 하기만 하면 됩니다 고 1.0 버전을 업그레이드 합니다. 그러나 버전 1.0 시스템에 있을 필요는 없습니다. 동일한 버전 1.1 버전 1.0 시스템에 설치 합니다. 이 방식으로 부분적 업그레이드를 제공 하는 장점은 업그레이드 설치 및 전체 제품 설치 프로그램을 개발 하는 작업을 통해 이동할 필요가 없습니다입니다. 하나의 설치 관리자 두 작업을 수행합니다. 보안 수정 프로그램 또는 서비스 팩 할 대신 패치를 Windows Installer의 장점을 활용 합니다. 자세한 내용은 패치 및 업그레이드.

시나리오 3: 나란히 비교 VSPackage

두 VSPackage 설치 관리자가이 시나리오를 나타냅니다-Visual Studio 각 버전에 대 한 하나.Net 및 Visual Studio. 병렬, 또는 개인, VSPackage 각 설치 관리자 설치 (하나는 구체적으로 작성 되어 설치의 특정 버전에 대 한 Visual Studio). 각 VSPackage 자체 구성 요소입니다. 따라서 각 개별적으로 패치 또는 유지 관리로 처리 될 수 있습니다 해제 됩니다. VSPackage DLL 버전 별로 지정 되므로 dll 같은 구성 요소를 해당 등록 정보를 포함 해도 됩니다.

왼쪽 / 오른쪽 VSPackage 설치 관리자

VS Side-by-Side VS 패키지 그래픽

또한 각 설치 관리자가 두 설치 간에 공유 되는 코드를 포함 합니다. 공유 코드의 공용 위치에 설치 된 경우 두.msi 파일 설치 공유 코드는 한 번만 설치 됩니다. 단지 두 번째 설치 관리자 구성 요소에서 참조 횟수를 증가 시킵니다. 참조 횟수가 Vspackages를 중 하나를 제거 하면 공유 코드 다른 Vspackage에 남아 있게 됩니다 보장 합니다. 공유 코드 두 번째 Vspackage를 제거할 때 제거 됩니다.

시나리오 4: 왼쪽 / 오른쪽 VSPackage 업데이트

이 시나리오에서는 사용자 VSPackage Visual Studio 2005 만으로도 보안상 취약점 업데이트를 실행 해야 합니다. 시나리오 2에서와 같이 보안 수정 프로그램을 포함 하 고 배포 새 설치 위치에서 이미 보안 수정 하 여 기존 설치를 업데이트 하는 새.msi 파일을 만들 수 있습니다.

이 경우에 VSPackage 전역 어셈블리 캐시 (GAC)에 설치 된 관리 대상된 VSPackage입니다. 보안 수정 프로그램을 포함 하도록 다시 작성 하는 경우 어셈블리 버전 번호의 수정 버전 번호 부분을 변경 해야 합니다. 등록 정보가 새 어셈블리 버전 번호는 이전 버전을 덮어씁니다 대 인해 Visual Studio 고정 된 어셈블리를 로드 합니다.

왼쪽 / 오른쪽 VSPackage 업데이트 설치 프로그램

VS Side-by-Side VS 패키지 업데이트 그래픽

참고 나란히 어셈블리의 배포에 대 한 자세한 내용은 배포를 단순화 하 고 해결 하는 DLL 지옥에의 합니다.NET Framework.

참고 항목

기타 리소스

Windows Installer

Visual Studio 여러 버전을 지 원하는