다음을 통해 공유


Office 솔루션 배포 문제 해결(2007 시스템)

업데이트: 2008년 7월

적용 대상

이 항목의 정보는 지정된 Visual Studio Tools for Office 프로젝트 및 Microsoft Office 버전에만 적용됩니다.

프로젝트 형식

  • 문서 수준 프로젝트

  • 응용 프로그램 수준 프로젝트

Microsoft Office 버전

  • 2007 Microsoft Office system

자세한 내용은 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.

이 단원에서는 Visual Studio Tools for Office를 사용하여 Microsoft Office 솔루션을 배포할 때 발생할 수 있는 일반적인 문제를 해결하기 위한 팁을 제공합니다.

어셈블리 이름을 변경할 때 충돌이 발생한다.

솔루션을 이미 배포한 후 프로젝트 디자이너응용 프로그램 페이지에서 어셈블리 이름 값을 변경하면 게시 도구에서는 한 개의 Setup.exe 파일과 두 개의 배포 매니페스트를 포함하도록 설치 패키지를 수정합니다. 두 개의 매니페스트 파일을 배포하면 다음과 같은 상황이 발생할 수 있습니다.

  • 최종 사용자가 두 버전을 모두 설치할 경우 응용 프로그램에서 두 개의 추가 기능을 로드합니다.

  • 어셈블리 이름을 변경하기 전에 추가 기능이 이미 설치된 경우 최종 사용자는 업데이트를 받을 수 없습니다.

이러한 상황이 발생하지 않게 하려면 솔루션을 배포한 후에는 솔루션의 어셈블리 이름 값을 변경하지 마십시오.

업데이트를 확인하는 데 오랜 시간이 걸린다.

Microsoft Visual Studio Tools for the Microsoft Office system (버전 3.0 런타임)에서는 관리자가 매니페스트 및 솔루션을 다운로드할 수 있는 제한 시간 값을 설정할 수 있게 해 주는 레지스트리 항목을 제공합니다.

제한 시간 값을 설정하려면

  1. 레지스트리에서 다음 키로 이동합니다.

    HKEY_CURRENT_USER\Software\Microsoft\VSTA

  2. AddInTimeout 하위 키에서 제한 시간 값(밀리초)을 설정합니다.

    AddInTimeout 하위 키가 없는 경우 해당 하위 키를 DWORD로 만듭니다.

업데이트하거나 네트워크 파일 공유에 게시할 수 없다.

업데이트를 게시하는 동안 솔루션의 Setup.exe 파일이 프로세스에서 잠겨 있으면 업데이트 중 네트워크 파일 공유에 있는 Office 솔루션에 잘못된 메시지가 표시될 수 있습니다. 즉, "'setup.exe'를 웹에 추가할 수 없습니다. 이 웹에 'setup.exe' 파일이 이미 있습니다."라는 메시지가 표시될 수 있습니다.

파일이 잠기지 않도록 하려면 해당 공유를 최종 사용자에 대해 읽기 전용으로 설정합니다. 그러나 이 공유에 문서가 있으면 해당 문서도 최종 사용자에 대해 읽기 전용이 됩니다.

2007 Microsoft Office system의 필수 구성 요소가 설치되어 있지 않다.

Microsoft .NET Framework, Visual Studio Tools for Office 런타임 및 Microsoft Office 주 interop 어셈블리를 Visual Studio Tools for Office 솔루션과 함께 배포되는 필수 구성 요소로 설치 패키지에 추가할 수 있습니다. 주 Interop 어셈블리를 설치하는 방법에 대한 자세한 내용은 Visual Studio Tools for Office 설치방법: Office 주 Interop 어셈블리 설치를 참조하십시오.

'Localhost'를 사용하여 게시하면 설치 문제가 발생할 수 있다.

문서 수준 솔루션의 게시 또는 설치 위치로 "https://localhost"를 사용하면 Visual Studio Tools for Office 게시 마법사에서 문자열이 실제 컴퓨터 이름으로 변환되지 않습니다. 즉, 솔루션은 개발 컴퓨터에만 설치할 수 있습니다. 배포된 솔루션에서 개발 컴퓨터의 IIS를 사용하도록 하려면 모든 HTTP/HTTPS/FTP 위치에 대해 localhost 대신 정규화된 이름을 사용합니다.

업데이트된 어셈블리 대신 캐시된 어셈블리가 로드된다.

.NET Framework 어셈블리 로더인 Fusion에서는 프로젝트 출력 경로가 네트워크 파일 공유에 있고, 어셈블리가 강력한 이름으로 서명되어 있고, 사용자 지정의 어셈블리 버전이 변경되지 않은 경우 어셈블리의 캐시된 복사본을 로드합니다. 이러한 조건을 충족하는 어셈블리를 업데이트하면 캐시된 복사본이 로드되므로 다음에 프로젝트를 실행할 때 업데이트가 표시되지 않습니다.

프로젝트가 실행될 때마다 Fusion에서 어셈블리를 다운로드하도록 Visual Studio를 구성할 수 있습니다.

캐시된 복사본을 로드하는 대신 어셈블리를 다운로드하려면

  1. 프로젝트 메뉴에서 ProjectName속성을 선택합니다.

  2. 응용 프로그램 페이지에서 어셈블리 정보를 클릭합니다.

  3. 첫 번째 어셈블리 버전 상자에 별표(*)를 입력합니다.

  4. 확인을 클릭합니다.

어셈블리 버전을 변경한 후에도 계속해서 강력한 이름으로 어셈블리에 서명할 수 있으며 Fusion에서는 최신 버전의 사용자 지정을 로드합니다.

문서 수준 사용자 지정의 XML 스키마가 등록되지 않는다.

2007 Microsoft Office system용 문서 수준 프로젝트의 문서에 XML 스키마를 연결할 경우 해당 스키마는 사용자의 라이브러리에 등록되지 않습니다. 등록하려면 별도의 설치 관리자 파일을 만들어야 합니다. 자세한 내용은 XML 스키마 및 데이터(Visual Studio Tools for Office)를 참조하십시오.

URI에 US-ASCII가 아닌 문자가 있는 경우 설치에 실패한다.

HTTP/HTTPS/FTP 위치에 Visual Studio Tools for Office 솔루션을 게시할 때 경로에는 US-ASCII가 아닌 유니코드 문자를 포함할 수 없습니다. 이러한 문자를 포함하면 설치 프로그램에서 일관되지 않은 동작이 발생할 수 있습니다. 설치 경로에는 US-ASCII 문자를 사용하십시오.

개발 컴퓨터에서 솔루션을 게시하고 설치할 때 수동 제거 프롬프트 표시

Visual Studio Tools for Office 솔루션을 빌드하면 빌드된 버전이 자동으로 등록됩니다. 이전에 동일한 솔루션을 개발 컴퓨터에 게시하고 설치한 경우 Visual Studio Tools for Office에서는 다음 빌드, 다시 빌드 또는 게시 후에 게시된 버전의 설치 경로와 빌드된 버전이 다른지 여부를 검색합니다. '다른 버전이 현재 설치되어 있고 이 위치에서 업그레이드할 수 없으므로 사용자 지정을 설치할 수 없다'는 오류 메시지가 표시됩니다. 솔루션을 다시 빌드하면 레지스트리 키가 업데이트되므로 두 번째 버전을 게시하거나 디버깅하거나 실행하기 전에 첫 번째 버전을 제거해야 합니다.

메시지가 나타나지 않도록 하려면 개발 컴퓨터에서 다른 사용자 계정을 만들어 배포를 테스트합니다. 또는 솔루션을 다음에 게시, 디버깅 또는 다시 빌드하기 전에 컴퓨터의 설치된 프로그램 목록에서 해당 버전을 제거할 수 있습니다.

솔루션을 설치할 때 catch되지 않은 예외 또는 메서드를 찾을 수 없는 오류

배포 매니페스트(.vsto 파일), Office 응용 프로그램, 문서 또는 통합 문서를 열어서 Visual Studio 2008 SP1(서비스 팩 1)로 개발된 Office 솔루션을 설치할 경우 다음 조건에 대한 오류 메시지가 표시될 수 있습니다.

  • 메서드를 찾을 수 없습니다.

  • MissingMethodException.

  • catch되지 않은 예외.

이러한 오류 메시지를 방지하려면 설치 프로그램을 실행하여 솔루션을 설치합니다.

Visual Studio 2008 SP1을 사용하여 개발된 Office 솔루션을 실행하려면 Visual Studio Tools for Office 3.0 Runtime SP1이 필요합니다. 설치 프로그램에서 Runtime SP1을 포함한 필수 구성 요소의 올바른 버전을 검사한 후 필요에 따라 필수 구성 요소를 설치합니다. 그러나 설치 프로그램을 실행하지 않고 솔루션을 설치하면 설치 관리자가 필수 구성 요소를 검사 또는 설치하지 않습니다.

Windows Installer 설치 프로젝트 빌드 후 추가 기능의 매니페스트 레지스트리 키 변경

Windows Installer 설치 프로젝트를 빌드하는 경우 추가 기능 설치 프로그램의 일부인 매니페스트 레지스트리 키가 .vsto에서 .dll.manifest로 변경되기도 합니다.

이 문제를 해결하려면 다른 솔루션에서 설치 프로젝트를 만들거나 CompanyName.AddinName을 추가 기능의 이름이 포함된 레지스트리 키 값으로 사용합니다.

Visual Studio 2008 SP1을 사용하는 경우 이 방법을 사용하지 않아도 됩니다.

Office 솔루션용 ClickOnce 설치 관리자에서 주 interop 어셈블리가 설치되지 않음

ClickOnce에서 Office 솔루션용으로 만든 설치 프로그램을 실행할 때 Office PIA(주 Interop 어셈블리)용 설치 관리자는 이미 설치된 PIA가 없는 경우에만 실행됩니다.

설치 프로그램에서 PIA가 올바르게 설치되지 않는 경우에는 설치 디렉터리에서 o2007pia.msi라는 설치 관리자 파일을 실행하여 PIA를 수동으로 설치합니다.

참고 항목

개념

ClickOnce 배포 문제 해결

Office 솔루션 배포(2007 시스템)

참조

문제 해결(Visual Studio Tools for Office 작업 절차)

변경 기록

날짜

변경 내용

이유

2008년 7월

문제 해결 시나리오에 대한 정보가 추가되었습니다.

SP1 기능 변경