다음을 통해 공유


Office 솔루션 배포 문제 해결

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

적용 대상: 이 항목의 정보는 Microsoft Office 2010 및 2007 Microsoft Office system의 문서 수준 프로젝트 및 응용 프로그램 수준 프로젝트에 적용됩니다. 자세한 내용은 Office 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.

이벤트 뷰어를 사용하여 Office 솔루션 문제 해결

Windows의 이벤트 뷰어를 사용하여 Office 솔루션을 설치하거나 제거할 때 Microsoft Visual Studio Tools for Office Runtime에서 캡처된 오류 메시지를 볼 수 있습니다. 이벤트 로거에서 이러한 메시지를 사용하여 설치 및 배포 문제를 해결할 수 있습니다. 자세한 내용은 Office 솔루션에 대한 이벤트 로깅을 참조하십시오.

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

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

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

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

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

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

Visual Studio 2010 Tools for Office Runtime에서는 관리자가 매니페스트 및 솔루션을 다운로드할 수 있는 제한 시간 값을 설정할 수 있게 해 주는 레지스트리 항목을 제공합니다. 

제한 시간 값을 설정하려면

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

    HKEY_CURRENT_USER\Software\Microsoft\VSTA

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  4. 확인을 클릭합니다.

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

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

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

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

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

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

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

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

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

배포 매니페스트(.vsto 파일)를 사용하여 Office 솔루션을 설치할 경우 다음 조건에 대한 오류 메시지가 표시될 수 있습니다.

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

  • MissingMethodException.

  • catch되지 않은 예외.

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

설치 프로그램을 실행하지 않고 솔루션을 설치하면 설치 관리자가 필수 구성 요소를 검사 또는 설치하지 않습니다. 설치 프로그램에서 필수 구성 요소의 올바른 버전을 검사한 후 필요에 따라 필수 구성 요소를 설치합니다.

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

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

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

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

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

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

인수가 범위를 벗어나는 상황에서 Office 솔루션 결과를 다시 설치하는 경우 발생하는 예외

Office 솔루션을 다시 설치하는 경우 "지정한 인수가 유효한 값 범위를 벗어났습니다."라는 오류 메시지와 함께 ArgumentOutOfRangeException 예외가 나타날 수 있습니다.

이 예외는 설치 위치 URL에 대한 대/소문자 구분이 다르기 때문에 발생합니다. 예를 들어, https://www.microsoft.com/ko/kr/default.aspx에 있는 Office 솔루션을 먼저 설치한 후 https://www.microsoft.com/ko/kr/default.aspx를 나중에 사용하는 경우에 이 오류가 발생합니다.

이 메시지가 나타나지 않도록 하려면 Office 솔루션을 설치할 때 동일한 대/소문자 구분을 사용합니다.

참고 항목

개념

ClickOnce 배포 문제 해결

기타 리소스

Office 솔루션 배포