다음을 통해 공유


ClickOnce 배포의 특정 오류 문제 해결

적용 대상: Visual Studio

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

일반 오류

애플리케이션 파일을 찾으려고 하면 인터넷 Explorer 아무 것도 발생하지 않거나 XML 렌더링이 수행되거나 실행 또는 다른 이름으로 저장 대화 상자가 표시됩니다.

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

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

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

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

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

.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 저장소에 이 애플리케이션을 설치하는 데 문제가 있음을 나타냅니다. 애플리케이션에 오류가 있거나 저장소가 손상되었습니다. 로그 파일은 오류가 발생한 위치를 알려줄 수 있습니다.

이 문제를 resolve 다음 단계를 수행합니다.

  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 애플리케이션을 게시하려고 할 때 나타납니다. 이 문제를 resolve 방법은 방법: 비주얼 스타일을 사용하도록 설정된 WPF 애플리케이션 게시를 참조하세요.

Mage 사용

인증서 저장소의 인증서와 받은 빈 메시지 상자로 서명하려고 했습니다.

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

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

"서명하지 않음" 단추를 클릭하면 예외가 발생합니다.

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

더 많은 오류

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

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

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

애플리케이션 유효성 검사가 성공하지 못했습니다. 계속할 수 없습니다.

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

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

이 오류를 resolve 위해 다음 작업 중 하나를 수행할 수 있습니다.

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

참조