다음을 통해 공유


ClickOnce 배포 관련 오류 문제 해결

적용 대상: Visual Studio

이 문서에서는 ClickOnce 애플리케이션을 배포할 때 발생할 수 있는 일반적인 오류를 소개하고 각 문제를 해결하는 단계를 제공합니다.

일반 오류

애플리케이션 파일을 찾으려고 할 때 아무 동작도 발생하지 않거나 Internet Explorer에서 XML이 렌더링되거나 실행 또는 다른 이름으로 저장 대화 상자가 표시됨

이 오류가 발생할 수 있는 이유는 콘텐츠 형식(MIME 형식이라고도 함)이 서버 또는 클라이언트에 올바르게 등록되지 않았기 때문입니다.

먼저 서버가 .application 확장을 콘텐츠 형식 "application/x-ms-application"과 연결하도록 구성되어 있는지 확인합니다.

서버가 올바르게 구성된 경우 컴퓨터에 .NET Framework 2.0가 설치되어 있는지 확인합니다. .NET Framework 2.0이 설치되어 있고 이 문제가 계속 발생하는 경우 .NET Framework 2.0을 제거하고 다시 설치하여 클라이언트에 콘텐츠 형식을 다시 등록해 보세요.

오류: "애플리케이션을 검색할 수 없습니다. 배포에 누락된 파일이 있습니다." 또는 "애플리케이션 다운로드가 중단되었습니다. 네트워크 오류를 확인하고 나중에 다시 시도하세요."가 표시됨

이 메시지는 ClickOnce 매니페스트 참조를 다운로드할 수 없는 하나 이상의 파일을 나타냅니다. 이 오류를 디버그하는 가장 쉬운 방법은 ClickOnce에서 다운로드할 수 없다고 말하는 URL을 다운로드하는 것입니다. 몇 가지 가능한 원인은 다음과 같습니다.

  • 로그 파일에 "(403) 사용할 수 없음" 또는 "(404) 찾을 수 없음"이 표시되면 웹 서버가 이 파일의 다운로드를 차단하지 않도록 구성되어 있는지 확인합니다. 자세한 내용은 ClickOnce 배포 시 서버 및 클라이언트 구성 문제를 참조하세요.
  • 서버에서 .config 파일이 차단되는 경우 .config 파일이 있는 ClickOnce 애플리케이션을 설치하려고 할 때 다운로드 오류를 참조하세요.
  • 배포 매니페스트의 deploymentProvider URL이 활성화에 사용된 URL과 다른 위치를 가리키기 때문에 이 오류가 발생했는지 여부를 확인합니다.
  • 모든 파일이 서버에 있는지 확인합니다. ClickOnce 로그에 찾을 수 없는 파일이 표시됩니다.
  • 네트워크 연결 문제가 있는지 여부를 확인합니다. 다운로드하는 동안 클라이언트 컴퓨터가 오프라인 상태가 되면 이 메시지를 받을 수 있습니다.

.config 파일이 포함된 ClickOnce 애플리케이션을 설치하려고 하면 다운로드 오류 발생

기본적으로 Visual Basic Windows 기반 애플리케이션에는 App.config 파일이 포함됩니다. Windows Server 2003을 사용하는 웹 서버에서 설치하려고 하면 운영 체제가 보안상의 이유로 .config 파일 설치를 차단하기 때문에 문제가 발생할 수 있습니다. .config 파일을 설치하려면 [게시 옵션] 대화 상자에서 [.deploy] 파일 확장 프로그램 사용을 선택합니다.

또한 .application, .manifest.deploy 파일에 대해 콘텐츠 형식(MIME 형식이라고도 함)을 적절하게 설정해야 합니다. 자세한 내용은 웹 서버 설명서를 참조하세요.

자세한 내용은 Windows Server: 잠긴 콘텐츠 형식을 참조 하세요.

오류: 애플리케이션의 형식이 잘못되었습니다. 로그 파일에 "XML 서명이 잘못되었습니다."가 포함되어 있습니다.

매니페스트 파일을 업데이트하고 다시 서명했는지 확인합니다. Visual Studio를 사용하여 애플리케이션을 다시 게시하거나 Mage를 사용하여 애플리케이션에 다시 서명합니다.

서버에서 애플리케이션을 업데이트했지만 클라이언트는 업데이트를 다운로드하지 않습니다.

이 문제는 다음 작업 중 하나를 완료하여 해결할 수 있습니다.

  • 배포 매니페스트에서 deploymentProvider URL을 검사합니다. 가리키는 동일한 위치에 있는 비트를 업데이트하고 있는지 deploymentProvider 확인합니다.
  • 배포 매니페스트에서 업데이트 간격을 확인합니다. 이 간격이 6시간마다 한 번처럼 주기적인 간격으로 설정된 경우 ClickOnce는 이 간격이 경과할 때까지 업데이트를 검색하지 않습니다. 애플리케이션이 시작될 때마다 업데이트를 검색하도록 매니페스트를 변경할 수 있습니다. 업데이트 간격을 변경하는 것은 개발 시간 동안 업데이트가 설치되고 있는지 확인하는 편리한 옵션이지만 애플리케이션 활성화 속도가 느려집니다.
  • 시작 메뉴에서 애플리케이션을 다시 시작해봅니다. ClickOnce가 백그라운드에서 업데이트를 검색했을 수 있지만 다음 활성화 시 비트를 설치할지 묻는 메시지가 표시됩니다.

업데이트하는 동안 다음과 같은 로그 항목이 있는 오류가 표시됩니다. "배포의 참조가 애플리케이션 매니페스트에 정의된 ID와 일치하지 않습니다."

이 오류는 배포 및 애플리케이션 매니페스트를 수동으로 편집하고 한 매니페스트의 어셈블리 ID에 대한 설명이 다른 매니페스트와 동기화되지 않도록 했기 때문에 발생할 수 있습니다. 어셈블리의 ID는 해당 이름, 버전, 문화권 및 공개 키 토큰으로 구성됩니다. 매니페스트에서 ID 설명을 검사하고 차이를 수정합니다.

로컬 디스크 또는 CD-ROM에서 처음 정품 인증에 성공하지만 시작 메뉴에서 후속 활성화는 성공하지 않습니다.

ClickOnce는 배포 공급자 URL을 사용하여 애플리케이션에 대한 업데이트를 수신합니다. URL이 가리키는 위치가 올바른지 확인합니다.

오류: 애플리케이션을 시작할 수 없습니다.

이 오류 메시지는 일반적으로 ClickOnce 저장소에 이 애플리케이션을 설치하는 데 문제가 있음을 나타냅니다. 애플리케이션에 오류가 있거나 저장소가 손상되었습니다. 로그 파일에서 오류가 발생한 위치를 알 수 있습니다.

이 문제를 해결하려면 다음 단계를 따릅니다.

  1. 배포 매니페스트의 ID, 애플리케이션 매니페스트의 ID 및 주 애플리케이션 EXE의 ID가 모두 고유한지 확인합니다.
  2. 파일 경로가 100자 이하인지 확인합니다. 애플리케이션에 너무 긴 파일 경로가 포함되어 있으면 저장할 수 있는 최대 경로에 대한 제한 사항을 초과할 수 있습니다. 경로를 줄인 다음 다시 설치해 보세요.

애플리케이션 구성 파일의 PrivatePath 설정은 적용되지 않습니다.

PrivatePath(Fusion 프로빙 경로)를 사용하려면 애플리케이션이 완전 신뢰 권한을 요청해야 합니다. 완전 신뢰를 요청하도록 애플리케이션 매니페스트를 변경한 후 다시 시도하세요.

제거하는 동안 "애플리케이션을 제거하지 못했습니다."라는 메시지가 나타남

이 메시지는 일반적으로 애플리케이션이 이미 제거되었거나 저장소가 손상되었음을 나타냅니다. 확인을 선택하면 프로그램 추가/제거 항목이 제거됩니다.

설치하는 동안 플랫폼 종속성이 설치되지 않았다는 메시지가 나타납니다.

애플리케이션을 실행하기 위해 필요한 GAC(전역 어셈블리 캐시)의 필수 구성 요소가 누락되었습니다.

Visual Studio를 통해 게시

Visual Studio에서 게시가 실패함

대상으로 하는 서버에 게시할 권리가 있는지 확인합니다. 예를 들어 관리자가 아닌 일반 사용자로 터미널 서버 컴퓨터에 로그인한 경우 로컬 웹 서버에 게시하는 데 필요한 권한이 없을 수 있습니다.

URL을 사용하여 게시하는 경우 대상 컴퓨터에 FrontPage 서버 확장이 사용하도록 설정되어 있는지 확인합니다.

오류: 웹 사이트 '사이트>'<를 만들 수 없습니다. FrontPage 서버 확장과 통신하기 위한 구성 요소가 설치되지 않았습니다.

게시할 컴퓨터에 Microsoft Visual Studio 웹 제작 구성 요소가 설치되어 있는지 확인합니다. Express 사용자의 경우 이 구성 요소는 기본적으로 설치되지 않습니다.

오류: 'Microsoft.Windows.Common-Controls, Version=6.0.0.0, Culture=*, PublicKeyToken=6595b64144ccf1df, ProcessorArchitecture=*, Type=win32' 파일을 찾을 수 없습니다.

이 오류 메시지는 비주얼 스타일을 사용하여 WPF 애플리케이션을 게시하려고 하면 나타납니다. 이 문제를 해결하려면 방법: 비주얼 스타일을 사용하여 WPF 애플리케이션 게시를 참조하세요.

Mage 사용

인증서 저장소의 인증서를 사용하여 서명하려고 하는데 빈 메시지 상자가 표시됨

서명 대화 상자에서 다음을 수행해야 합니다.

  1. 저장된 인증서로 서명을 선택합니다.
  2. 목록에서 인증서를 선택합니다. 첫 번째 인증서는 기본 선택이 아닙니다.

"서명 안 함" 단추를 클릭하면 예외가 발생함

이 문제는 알려진 버그입니다. 모든 ClickOnce 매니페스트에 서명해야 합니다. 서명 옵션 중 하나를 선택한 다음 확인을 선택합니다.

더 많은 오류

다음 표는 클라이언트 컴퓨터 사용자가 ClickOnce 애플리케이션을 설치할 때 받을 수 있는 몇 가지 일반적인 오류 메시지를 보여 줍니다. 각 오류 메시지가 가장 가능성이 높은 오류 원인에 대한 설명 옆에 나열됩니다.

오류 메시지 설명
애플리케이션을 시작할 수 없습니다. 애플리케이션 게시자에게 문의하세요.

애플리케이션을 시작할 수 없습니다. 애플리케이션 공급업체에 지원을 요청하세요.
이러한 메시지는 애플리케이션을 시작할 수 없을 때 표시되는 일반적인 오류 메시지이며 다른 특정한 이유를 찾을 수 없습니다. 이는 애플리케이션이 손상되었거나 ClickOnce 저장소가 손상된 것을 의미하는 경우가 많습니다.
계속할 수 없습니다. 애플리케이션의 형식이 잘못되었습니다. 애플리케이션 게시자에게 지원을 요청하세요.

애플리케이션 유효성 검사가 실패했습니다. 계속할 수 없습니다.

애플리케이션 파일을 검색할 수 없습니다. 배포에서 파일이 손상되었습니다.
배포의 매니페스트 파일 중 하나가 구문상 유효하지 않거나 해당 파일과 조정할 수 없는 해시를 포함합니다. 이 오류는 어셈블리 내에 포함된 매니페스트가 손상되었음을 나타낼 수도 있습니다. 배포를 다시 만들고 애플리케이션을 다시 컴파일하거나 매니페스트에서 수동으로 오류를 찾아 수정합니다.
애플리케이션을 검색할 수 없습니다. 인증 오류입니다.

애플리케이션 설치가 실패했습니다. 서버에서 애플리케이션 파일을 찾을 수 없습니다. 애플리케이션 게시자 또는 관리자에게 지원을 요청하세요.
배포에 액세스할 수 있는 권한이 없으므로 배포에서 하나 이상의 파일을 다운로드할 수 없습니다. 이 오류는 웹 서버에서 반환되는 403 사용할 수 없음 오류로 인해 발생할 수 있습니다. 이 오류는 배포의 파일 중 하나가 웹 서버에서 보호된 파일로 처리하는 확장명으로 끝나는 경우에 발생할 수 있습니다. 또한 하나 이상의 애플리케이션 파일을 포함하는 디렉터리에 액세스하려면 사용자 이름 및 암호가 필요할 수 있습니다.
애플리케이션을 다운로드할 수 없습니다. 애플리케이션에 필요한 파일이 없습니다. 애플리케이션 공급업체 또는 시스템 관리자에게 지원을 요청하세요. 애플리케이션 매니페스트에 나열된 하나 이상의 파일을 서버에서 찾을 수 없습니다. 배포의 모든 종속 파일을 업로드했는지 확인하고 다시 시도합니다.
애플리케이션 다운로드가 실패했습니다. 네트워크 연결을 확인하거나 시스템 관리자 또는 네트워크 서비스 공급자에게 문의하세요. ClickOnce가 서버에 대한 네트워크 연결을 설정할 수 없습니다. 서버의 가용성 및 네트워크 상태를 검사합니다.
URLDownloadToCacheFile이 HRESULT '<숫자>'에 실패했습니다. '<파일>'을 로드하는 동안 오류가 발생했습니다. 사용자가 배포 대상 컴퓨터에서 Internet Explorer 고급 보안 옵션 "보안 모드와 보안 모드를 변경하지 않는 경우 경고"를 설정하고 설치 중인 ClickOnce 애플리케이션의 설치 URL이 안전하지 않은 사이트에서 보안 사이트로 리디렉션되는 경우(또는 그 반대의 경우도 마찬가지) Internet Explorer 경고로 인해 설치가 실패합니다.

이 오류를 해결하려면 다음 작업 중 하나를 수행할 수 있습니다.

- 보안 옵션을 선택 취소합니다.
- 설정 URL이 보안 모드를 변경하는 방식으로 리디렉션되지 않는지 확인합니다.
- 리디렉션을 완전히 제거하고 실제 설치 URL을 가리킵니다.
하드 디스크에 쓰는 동안 오류가 발생했습니다. 디스크에 사용 가능한 공간이 부족할 수 있습니다. 애플리케이션 공급업체 또는 시스템 관리자에게 지원을 요청하세요. 이는 애플리케이션을 저장하기 위한 디스크 공간이 부족함을 나타낼 수 있지만 애플리케이션 파일을 드라이브에 저장하려고 할 때 보다 일반적인 I/O 오류를 나타낼 수도 있습니다.
애플리케이션을 시작할 수 없습니다. 디스크에 사용 가능한 공간이 부족합니다. 하드 디스크가 꽉 찼습니다. 공간을 지우고 애플리케이션을 다시 실행해 보세요.
배포된 활성화가 너무 많이 한 번에 로드하려고 합니다. ClickOnce는 동시에 시작할 수 있는 애플리케이션 수를 제한합니다. 이는 주로 로컬 ClickOnce 서비스에 대한 서비스 거부 공격을 전파하려는 악의적인 시도로부터 보호하는 데 도움이 됩니다. 동일한 애플리케이션을 빠르게 연속하여 반복적으로 시작하려고 시도하는 사용자는 애플리케이션이 단일 인스턴스에서 종료됩니다.
네트워크를 통해 바로 가기를 활성화할 수 없습니다. ClickOnce 애플리케이션에 대한 바로 가기는 로컬 하드 디스크에서만 시작할 수 있습니다. 원격 서버에 대한 바로 가기 파일을 가리키는 URL을 열어 시작할 수 없습니다.
애플리케이션이 너무 커서 온라인으로 부분 신뢰에서 실행할 수 없습니다. 애플리케이션 공급업체 또는 시스템 관리자에게 지원을 요청하세요. 부분 신뢰로 실행되는 애플리케이션은 기본적으로 250MB인 온라인 애플리케이션 할당량 크기의 절반보다 클 수 없습니다.

참조