응용 프로그램 수준 추가 기능 배포(2003 시스템)
업데이트: 2007년 11월
적용 대상 |
---|
이 항목의 정보는 지정된 Visual Studio Tools for Office 프로젝트 및 Microsoft Office 버전에만 적용됩니다. 프로젝트 형식
Microsoft Office 버전
자세한 내용은 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오. |
Visual Studio Tools for Office를 사용하여 만든 Microsoft Office 2003 추가 기능을 배포하는 작업에는 일반적으로 다음과 같은 파일 작업이 포함됩니다.
주 추가 기능 어셈블리와 모든 종속 어셈블리(예: 리소스, 위성 또는 도우미 라이브러리)
응용 프로그램 매니페스트
배포 매니페스트(해당되는 경우)
솔루션을 배포할 때는 다음과 같은 기본 지침을 고려해야 합니다.
사용자가 .NET Framework를 설치한 상태여야 합니다. 자세한 내용은 .NET Framework 재배포 및 여러 버전의 .NET Framework를 사용한 작업을 참조하십시오.
사용자가 Visual Studio 2005 Tools for Office Second Edition 런타임을 설치한 상태여야 합니다. 자세한 내용은 방법: Office 솔루션을 실행하도록 최종 사용자 컴퓨터 준비(2003 시스템)를 참조하십시오.
Visual Studio Tools for Office 런타임에는 Visual Studio Tools for Office를 사용하여 만든 Microsoft Office 2003 추가 기능용 로더인 AddinLoader.dll이 포함되어 있습니다. 자세한 내용은 응용 프로그램 수준 추가 기능 아키텍처를 참조하십시오.
각 클라이언트 컴퓨터에는 추가 기능을 실행하는 데 필요한 레지스트리 항목 집합이 있어야 합니다. 자세한 내용은 응용 프로그램 수준 추가 기능에 대한 레지스트리 항목를 참조하십시오.
추가 기능 어셈블리와 참조된 모든 어셈블리는 각 최종 사용자의 보안 정책에서 완전한 신뢰를 받아야 합니다. 자세한 내용은 Office 솔루션 실행을 위한 보안 요구 사항(2003 시스템)을 참조하십시오.
추가 기능을 배포하려면 다음 단계를 수행합니다.
빌드 프로세스에서 생성된 응용 프로그램 매니페스트 및 필요한 레지스트리 항목을 각 클라이언트 컴퓨터에 복사합니다.
추가 기능 어셈블리와 선택적으로 배포 매니페스트를 배포 위치에 복사합니다.
배포 위치는 클라이언트 컴퓨터의 로컬 폴더이거나 네트워크 공유 같은 원격 위치일 수 있습니다. 자세한 내용은 배포 모델(2003 시스템) 및 방법: Office 솔루션 배포(2003 시스템)을 참조하십시오.
![]() |
---|
Visual Studio Tools for Office를 사용하여 만든 추가 기능을 최종 사용자가 Microsoft Office 2003 응용 프로그램에서 COM 추가 기능 대화 상자를 사용하여 설치할 수 있는 배포 옵션은 없습니다. |
설치 프로젝트 사용
Visual Studio Tools for Office를 사용하여 추가 기능 프로젝트를 만들면 설치 프로젝트가 자동으로 솔루션에 추가됩니다. 솔루션을 클라이언트 컴퓨터에 직접 배포하려는 경우 이 설치 프로젝트를 사용하여 Windows Installer 파일(.msi)을 생성할 수 있습니다. 이 설치 관리자는 솔루션 파일을 클라이언트 컴퓨터에 복사하고 추가 기능을 실행하는 데 필요한 레지스트리 항목을 만듭니다. 설치 프로젝트에 대한 자세한 내용은 응용 프로그램 수준 추가 기능의 설치 프로젝트(2003 시스템)를 참조하십시오. 필요한 레지스트리 항목에 대한 자세한 내용은 응용 프로그램 수준 추가 기능에 대한 레지스트리 항목을 참조하십시오.
설치 프로젝트의 제한 사항
기본 설치 프로젝트에는 몇 가지 제한 사항이 있습니다.
설치 프로젝트는 기본적으로 보안 정책을 설정하지 않습니다. 추가 기능 어셈블리와 참조된 모든 어셈블리에서 추가 기능을 실행하려면 완전 신뢰가 부여되어야 합니다. 사용자가 설치 프로젝트에 보안 정책을 구성하는 단계를 추가하거나 관리자가 적절한 보안 정책을 설정할 수 있습니다. 자세한 내용은 Office 솔루션 실행을 위한 보안 요구 사항(2003 시스템)을 참조하십시오.
기본적으로 설치 프로젝트에서는 Visual Studio Tools for Office 런타임 및 Microsoft Office 응용 프로그램의 PIA(주 Interop 어셈블리)를 확인하거나 설치하지 않습니다. 이러한 구성 요소가 최종 사용자 컴퓨터에 설치되어 있지 않으면 추가 기능이 실행되지 않습니다. 필수 구성 요소에 대한 자세한 내용은 방법: Office 솔루션을 실행하도록 최종 사용자 컴퓨터 준비(2003 시스템)를 참조하십시오.
게시 마법사 사용
어셈블리 자동 업데이트를 사용하도록 설정하려면 게시 마법사를 사용합니다. 게시 마법사는 솔루션에 대한 배포 매니페스트를 만들고 필요한 모든 파일을 배포 위치에 복사합니다.
솔루션 탐색기의 프로젝트 바로 가기 메뉴에 있는 게시 명령은 게시 마법사를 시작합니다. 솔루션을 게시할 폴더의 위치를 식별하면 마법사가 배포 매니페스트의 복사본을 해당 폴더에 복사합니다. 마법사는 또한 어셈블리와 업데이트된 응용 프로그램 매니페스트를 주 배포 폴더의 하위 폴더에 복사합니다. 하위 폴더 이름에는 버전 번호가 포함되어 있습니다. 프로젝트 디자이너의 게시 창에서 릴리스할 때마다 자동으로 수정 번호 증가 옵션이 선택된 경우 솔루션을 게시할 때마다 새 하위 폴더가 만들어집니다. 이전 버전은 계속 사용할 수 있습니다. 응용 프로그램 및 배포 매니페스트에서는 솔루션이 항상 올바른 어셈블리를 사용하는지 확인합니다. 자세한 내용은 Office 솔루션의 응용 프로그램 및 배포 매니페스트, 방법: 게시 마법사를 사용하여 솔루션 파일 배포(2003 시스템) 및 프로젝트 디자이너, 게시 페이지(2007 시스템)을 참조하십시오.
게시 마법사의 제한 사항
게시 마법사에는 몇 가지 제한 사항이 있습니다.
게시 마법사에서는 추가 기능을 실행하는 데 필요한 레지스트리 항목을 만들지 않습니다. 게시 마법사를 사용하여 추가 기능을 배포할 경우 레지스트리 파일(.reg)을 사용하는 등의 방법으로 이러한 레지스트리 항목을 직접 만들어야 합니다. 게시 마법사는 또한 개발자가 프로젝트를 빌드할 때 개발 컴퓨터에 만들어진 레지스트리 항목을 덮어쓰거나 제거하지도 않습니다. 프로젝트 빌드에 대한 자세한 내용은 Office 솔루션 빌드 프로세스 개요를 참조하십시오. 필요한 레지스트리 항목에 대한 자세한 내용은 응용 프로그램 수준 추가 기능에 대한 레지스트리 항목을 참조하십시오.
게시 마법사에서는 최종 사용자의 보안 정책에서 추가 기능 어셈블리에 완전 신뢰를 부여하지 않습니다. 추가 기능 어셈블리와 참조된 모든 어셈블리에서 추가 기능을 실행하려면 완전 신뢰가 부여되어야 합니다. 자세한 내용은 Office 솔루션 실행을 위한 보안 요구 사항(2003 시스템)을 참조하십시오.
배포된 어셈블리 업데이트(버전 관리)
OutlookAddin1이라는 솔루션을 C:\DeployFolder 폴더에 배포하는 경우 파일 구조는 다음과 비슷합니다.
C:\DeployFolder
이 폴더에는 다음 파일과 하위 폴더가 들어 있습니다.
배포 매니페스트(OutlookAddin1.application)
C:\DeployFolder\OutlookAddin1_1.0.0.0
이 폴더에는 다음 파일이 들어 있습니다.
어셈블리
응용 프로그램 매니페스트(OutlookAddin1.dll.manifest)
배포 매니페스트의 복사본
어셈블리를 업데이트하고 솔루션을 다시 게시하는 경우 디렉터리 구조는 다음과 비슷합니다.
C:\DeployFolder
이 폴더에는 다음 파일과 하위 폴더가 들어 있습니다.
배포 매니페스트(C:\DeployFolder\OutlookAddin1_1.0.0.1의 응용 프로그램 매니페스트를 가리키도록 업데이트됨)
C:\DeployFolder\OutlookAddin1_1.0.0.0
이 폴더에는 다음 파일이 들어 있습니다.
원래 어셈블리
원래 응용 프로그램 매니페스트
원래 배포 매니페스트
C:\DeployFolder\OutlookAddin1_1.0.0.1
이 폴더에는 다음 파일이 들어 있습니다.
업데이트된 어셈블리
업데이트된 응용 프로그램 매니페스트
업데이트된 배포 매니페스트의 복사본
이 구조는 추가 기능 어셈블리를 업데이트할 때마다 반복됩니다.
명령줄에서 MSBuild 사용
명령 프롬프트에서 MSBuild를 사용하여 솔루션을 게시할 수도 있습니다. 명령 프롬프트에서 MSBuild를 사용할 경우 솔루션 파일을 한 위치에 게시하고 동시에 배포 매니페스트와 업데이트된 응용 프로그램 매니페스트를 다른 위치를 가리키도록 수정할 수 있습니다. 명령 프롬프트에서 MSBuild를 실행하여 솔루션을 게시하려면 다음 구문을 사용합니다.
msbuild.exe /target:Publish /property:UpdateUrl=<update location> /property:PublishDir=<publish location> <project file>
예를 들어 OutlookAddin1이라는 C# 프로젝트를 \\PublishServer\PublishFolder 공유 폴더에 게시하려고 하지만 앞으로 배포 매니페스트, 업데이트된 응용 프로그램 매니페스트 및 추가 기능 어셈블리를 \\DeploymentServer\DeploymentFolder 공유 폴더로 이동할 것이 예상되면 다음 명령을 실행합니다.
msbuild.exe /target:Publish /property:PublishDir=\\PublishServer\PublishFolder\ /property:UpdateUrl=\\DeploymentServer\DeploymentFolder\ C:\OutlookAddin1\OutlookAddin1.csproj
명령 프롬프트에서 MSBuild를 사용하는 방법에 대한 자세한 내용은 명령줄에서 ClickOnce 응용 프로그램 빌드를 참조하십시오.
Windows Vista에서 추가 기능 배포
최종 사용자가 Windows Vista에서 솔루션을 실행하는 경우 배포를 설치할 때 계정에 Windows Vista 보안 제한 사항을 적용해야 합니다.
게시 마법사를 사용하여 HTTP 또는 네트워크 위치에 추가 기능 업데이트를 게시한 경우 Windows Vista를 실행하는 컴퓨터의 최종 사용자는 다음 조건을 만족하는 경우에만 어셈블리 업데이트를 로드할 수 있습니다.
응용 프로그램 매니페스트가 응용 프로그램에서 표준 권한으로 수정할 수 있는 최종 사용자 컴퓨터의 폴더에 설치되어 있는 경우
- 또는 -
사용자가 관리자 권한을 사용하여 Microsoft Office 응용 프로그램을 실행하는 경우
추가 기능에 업데이트를 게시하면 Visual Studio Tools for Office 런타임에서는 다음에 응용 프로그램을 열 때 업데이트된 응용 프로그램을 최종 사용자 컴퓨터에 복사합니다. 그런 다음 해당 런타임에서는 업데이트된 매니페스트의 정보를 사용하여 업데이트된 어셈블리를 로드합니다. Windows Vista의 경우 표준 권한으로 실행되는 응용 프로그램에서는 %ProgramFiles%을 포함하여 특정 폴더의 파일을 덮어쓸 수 없습니다.. 따라서 응용 프로그램 매니페스트가 관리자 권한을 필요로 하는 폴더에 설치되어 있으면 사용자가 관리자로 응용 프로그램을 실행한 경우에만 응용 프로그램에서 업데이트된 어셈블리를 로드할 수 있습니다. 또는 응용 프로그램 매니페스트가 %UserProfile%과 같이 관리자 권한이 필요하지 않은 폴더에 설치되어 있는 경우, 응용 프로그램을 표준 권한으로 실행할 수 있습니다.
![]() |
---|
기본적으로 추가 기능 프로젝트를 사용하여 만든 설치 프로젝트에서는 응용 프로그램 매니페스트를 %CommonProgramFiles%에 설치합니다. |
응용 프로그램 및 배포 매니페스트
응용 프로그램 및 배포 매니페스트를 사용하면 최신 어셈블리를 통해 추가 기능이 자체 업데이트될 수 있습니다. 자세한 내용은 Office 솔루션의 응용 프로그램 및 배포 매니페스트를 참조하십시오.
솔루션이 사용되는 동안 솔루션에 대한 응용 프로그램 또는 배포 매니페스트를 몇 번이고 변경할 수 있습니다. 매니페스트를 업데이트하는 주요 이유는 두 가지입니다.
솔루션 어셈블리의 새 버전을 배포합니다. 자세한 내용은 방법: 배포된 어셈블리 파일 업데이트(2003 시스템)를 참조하십시오.
솔루션 어셈블리의 위치를 변경합니다. 자세한 내용은 방법: 응용 프로그램 수준 추가 기능의 위치 변경(2003 시스템)을 참조하십시오.
참고 항목
개념
응용 프로그램 수준 추가 기능의 설치 프로젝트(2003 시스템)