다음을 통해 공유


ClickOnce 배포 시 서버 및 클라이언트 구성 문제

Windows 서버에서 IIS(인터넷 정보 서비스)를 사용하는 경우 배포에 Microsoft Word 파일과 같이 Windows가 인식하지 못하는 파일 형식이 포함되어 있으면 IIS가 해당 파일을 전송하는 것을 거부하여 배포가 실패합니다.

또한 일부 웹 서버 및 웹 애플리케이션 소프트웨어(예: ASP.NET)에는 다운로드할 수 없는 파일 및 파일 형식 목록이 포함되어 있습니다. 예를 들어 ASP.NET은 모든 Web.config 파일의 다운로드를 금지합니다. 이러한 파일에는 사용자 이름 및 암호와 같은 중요한 정보가 포함될 수 있습니다.

이러한 제한으로 인해 매니페스트 및 어셈블리와 같은 핵심 ClickOnce 파일을 다운로드하는 데 문제가 발생하지는 않지만 ClickOnce 애플리케이션의 일부로 포함된 데이터 파일을 다운로드하지 못할 수 있습니다. ASP.NET에서, IIS 구성 관리자에서 이러한 파일의 다운로드를 금지하는 처리기를 제거하여 이 오류를 해결할 수 있습니다. 자세한 내용은 IIS 서버 설명서를 참조하세요.

일부 웹 서버는 .dll, .config, .mdf와 같은 확장명을 가진 파일을 차단할 수 있습니다. Windows 기반 애플리케이션에는 일반적으로 이러한 확장명 일부를 갖는 파일이 포함됩니다. 사용자가 웹 서버에서 차단된 파일에 액세스하는 ClickOnce 애플리케이션을 실행하려고 하면 오류가 발생합니다. 모든 파일 확장명을 차단 해제하는 대신 ClickOnce는 기본적으로 .deploy 파일 확장명을 사용하여 모든 애플리케이션 파일을 게시합니다. 따라서 관리자는 다음 세 가지 파일 확장명을 차단 해제하도록 웹 서버를 구성하기만 하면 됩니다.

  • .application

  • .manifest

  • .deploy

    그러나 게시 옵션 대화 상자에서 ".deploy" 파일 확장명 사용 옵션을 선택 취소하여 이 옵션을 사용하지 않도록 설정할 수 있습니다. 이 경우 애플리케이션에 사용되는 모든 파일 확장명을 차단 해제하도록 웹 서버를 구성해야 합니다.

    예를 들어 .NET Framework를 설치하지 않은 IIS를 사용하는 경우 또는 다른 웹 서버(예: Apache)를 사용하는 경우 .manifest, .application.deploy를 구성해야 합니다.

ClickOnce 및 SSL(Secure Sockets Layer)

Internet Explorer에서 SSL 인증서에 대한 메시지가 표시되는 경우를 제외하고 ClickOnce 애플리케이션은 SSL을 통해 정상적으로 작동합니다. 사이트 이름이 일치하지 않거나 인증서가 만료된 경우와 같이 인증서에 문제가 있는 경우 메시지가 표시될 수 있습니다. ClickOnce가 SSL 연결을 통해 작동하도록 하려면 인증서가 최신 상태이고 인증서 데이터가 사이트 데이터와 일치하는지 확인합니다.

ClickOnce 및 프록시 인증

ClickOnce는 .NET Framework 3.5부터 Windows 통합 프록시 인증에 대한 지원을 제공합니다. 특정 machine.config 지시문은 필요하지 않습니다. ClickOnce는 기본 또는 다이제스트와 같은 다른 인증 프로토콜에 대한 지원을 제공하지 않습니다.

.NET Framework 2.0에 핫픽스를 적용하여 이 기능을 사용하도록 설정할 수도 있습니다. 자세한 내용은 수정:.NET Framework 2.0에서 만든 ClickOnce 애플리케이션을 프록시 서버를 사용하도록 구성된 클라이언트 컴퓨터에 설치하려고 할 때 오류 메시지: "프록시 인증 필요"를 참조하세요.

자세한 내용은 <defaultProxy> 요소(네트워크 설정)를 참조하세요.

ClickOnce 및 웹 브라우저 호환성

현재는 ClickOnce 설치가 Internet Explorer를 사용하여 배포 매니페스트에 대한 URL을 연 경우에만 시작됩니다. Internet Explorer가 기본 웹 브라우저로 설정되어 있는 경우에만 Microsoft Office Outlook와 같은 다른 애플리케이션에서 URL이 시작되는 배포가 성공적으로 시작됩니다.

참고 항목

배포 공급자가 비어 있지 않거나 Microsoft .NET Framework Assistant 확장이 설치된 경우 Mozilla Firefox가 지원됩니다. 이 확장은 .NET Framework 3.5 SP1과 함께 패키지됩니다. XBAP 지원을 위해 필요한 경우 NPWPF 플러그 인이 활성화됩니다.

브라우저 스크립팅을 통해 ClickOnce 애플리케이션 활성화

액티브 스크립팅을 사용하여 ClickOnce 애플리케이션을 시작하는 사용자 지정 웹 페이지를 개발한 경우 일부 컴퓨터에서 애플리케이션이 시작되지 않을 수 있습니다. Internet Explorer에는 파일 다운로드 시 자동으로 사용자에게 확인이라는 설정이 포함되어 있는데 이 설정이 이 동작에 영향을 줍니다. 이 설정은 이 동작에 영향을 주는 옵션 메뉴의 보안 탭에서 사용할 수 있습니다. 이를 파일 다운로드 시 자동으로 사용자에게 확인이라고 하며 다운로드 범주 아래에 나열되어 있습니다. 속성은 인트라넷 웹 페이지에 대해 기본적으로 사용으로 설정되고 인터넷 웹 페이지에 대해 기본적으로 사용 안 함으로 설정됩니다. 이 설정을 사용 안 함으로 설정하면 ClickOnce 애플리케이션을 프로그래밍 방식으로(예: document.location 속성에 해당 URL을 할당) 활성화하려는 시도는 차단됩니다. 이 경우 사용자는 애플리케이션의 URL로 설정된 하이퍼링크를 클릭하는 등 사용자가 시작한 다운로드를 통해서만 애플리케이션을 시작할 수 있습니다.

추가 서버 구성 문제

관리자 권한 필요

HTTP를 사용하여 게시하는 경우 대상 서버에 대한 관리자 권한이 있어야 합니다. IIS를 사용하려면 이 권한 수준이 필요합니다. HTTP를 사용하여 게시하지 않는 경우 대상 경로에 대한 쓰기 권한만 있으면 됩니다.

서버 인증 문제

"익명 액세스"가 해제된 원격 서버에 게시하면 다음과 같은 경고가 표시됩니다.

"The files could not be downloaded from http://<remoteserver>/<myapplication>/.  The remote server returned an error: (401) Unauthorized."

참고 항목

사이트가 기본 자격 증명이 아닌 자격 증명을 요구하는 경우 NTLM(NT 챌린지/응답) 인증을 사용할 수 있으며, 보안 대화 상자에서 이후 세션에 대해 제공된 자격 증명을 저장할지 묻는 메시지가 표시되면 확인을 클릭합니다. 그러나 이 해결 방법은 기본 인증에는 적용되지 않습니다.

타사 웹 서버 사용

IIS 이외의 웹 서버에서 ClickOnce 애플리케이션을 배포하는 경우 서버가 주요 ClickOnce 파일에 대한 잘못된 콘텐츠 형식(예: 배포 매니페스트 및 애플리케이션 매니페스트)을 반환하는 경우 문제가 발생할 수 있습니다. 이 문제를 해결하려면 서버에 새 콘텐츠 형식을 추가하는 방법에 대한 웹 서버의 도움말 설명서를 참조하고 다음 표에 나열된 모든 파일 이름 확장명 매핑이 준비되어 있는지 확인하세요.

파일 이름 확장명 내용 유형
.application application/x-ms-application
.manifest application/x-ms-manifest
.deploy application/octet-stream
.msu application/octet-stream
.msp application/octet-stream

ClickOnce 및 매핑된 드라이브

Visual Studio를 사용하여 ClickOnce 애플리케이션을 게시하는 경우에는 매핑된 드라이브를 설치 위치로 지정할 수 없습니다. 그러나 매니페스트 생성기 및 편집기(Mage.exe 및 MageUI.exe)를 사용하여 매핑된 드라이브에서 설치하도록 ClickOnce 애플리케이션을 수정할 수 있습니다. 자세한 내용은 Mage.exe(매니페스트 생성 및 편집 도구)MageUI.exe(매니페스트 생성 및 편집 도구, 그래픽 클라이언트)를 참조하세요.

애플리케이션 설치에 지원되지 않는 FTP 프로토콜

ClickOnce는 모든 HTTP 1.1 웹 서버 또는 파일 서버에서 애플리케이션 설치를 지원합니다. FTP(파일 전송 프로토콜)에서는 애플리케이션 설치가 지원되지 않습니다. FTP를 사용하여 애플리케이션을 게시할 수만 있습니다. 다음 표는 이러한 차이점을 요약하여 보여 줍니다.

URL 형식 설명
ftp:// 이 프로토콜을 사용하여 ClickOnce 애플리케이션을 게시할 수 있습니다.
http:// 이 프로토콜을 사용하여 ClickOnce 애플리케이션을 설치할 수 있습니다.
https:// 이 프로토콜을 사용하여 ClickOnce 애플리케이션을 설치할 수 있습니다.
file:// 이 프로토콜을 사용하여 ClickOnce 애플리케이션을 설치할 수 있습니다.

Windows 방화벽

기본적으로 Windows는 Windows 방화벽을 사용하도록 설정합니다. Windows가 설치된 컴퓨터에서 응용 프로그램을 개발하는 경우에도 IIS를 실행하는 로컬 서버에서 ClickOnce 응용 프로그램을 게시하고 실행할 수 있습니다. 그러나 Windows 방화벽을 열지 않으면 다른 컴퓨터에서 IIS를 실행하는 서버에 액세스할 수 없습니다. Windows 방화벽을 관리하는 방법에 대한 지침은 Windows 도움말을 참조하세요.

Windows 서버: FrontPage Server Extensions 사용

HTTP를 사용하는 Windows 웹 서버에 애플리케이션을 게시하려면 Microsoft의 FrontPage Server Extensions가 필요합니다.

기본적으로 Windows 서버에는 FrontPage Server Extensions가 설치되어 있지 않습니다. Visual Studio를 사용하여 HTTP를 FrontPage Server Extensions와 함께 사용하는 Windows Server 웹 서버에 게시하려면 먼저 FrontPage Server Extensions를 설치해야 합니다. Windows Server에서 서버 관리 도구를 사용하여 설치를 수행할 수 있습니다.

Windows Server: 잠긴 콘텐츠 형식

Windows Server 2003의 IIS는 알려진 특정 콘텐츠 형식(예: .htm, .html, .txt 등)을 제외한 모든 파일 형식을 잠급니다. 이 서버를 사용하여 ClickOnce 애플리케이션을 배포할 수 있도록 하려면 .application, .manifest 그리고 애플리케이션에서 사용하는 다른 모든 사용자 지정 파일 형식의 파일을 다운로드할 수 있도록 IIS 설정을 변경해야 합니다.

IIS 서버를 사용하여 배포하는 경우 inetmgr.exe를 실행하고 기본 웹 페이지에 대해 새 파일 형식을 추가합니다.

  • .application.manifest 확장명 경우 MIME 형식은 "application/x-ms-application"이어야 합니다. 다른 파일 형식의 경우 MIME 형식은 "application/octet-stream"이어야 합니다.

  • 확장명 “<em>” 및 MIME 형식 "application/octet-stream"을 사용하여 MIME 형식을 만들면 차단 해제된 파일 형식의 파일을 다운로드할 수 있습니다. (그러나 .aspx, .asmx와 같은 차단된 파일 형식은 다운로드할 수 없습니다.)

    Windows Server에서 MIME 형식을 구성하는 방법에 대한 자세한 내용은 웹 사이트 또는 애플리케이션에 MIME 형식을 추가하는 방법을 참조하세요.

콘텐츠 형식 매핑

HTTP를 통해 게시할 때 .application 파일의 콘텐츠 형식(MIME 형식이라고도 함)은 "application/x-ms-application"이어야 합니다. 서버에 .NET Framework 2.0이 설치된 경우에는 자동으로 설정됩니다. 이 버전이 설치되어 있지 않으면 ClickOnce 애플리케이션 vroot(또는 전체 서버)에 대한 MIME 형식 연결을 만들어야 합니다.

IIS 서버를 사용하여 배포하는 경우 inetmgr.exe를 실행하고 .application 확장에 대해 새 콘텐츠 형식 "application/x-ms-application"을 추가합니다.

HTTP 압축 문제

ClickOnce에서는 클라이언트에 스트림을 보내기 전에 GZIP 알고리즘을 사용하여 데이터 스트림을 압축하는 웹 서버 기술인 HTTP 압축을 사용하는 다운로드를 수행할 수 있습니다. 클라이언트(이 경우 ClickOnce)는 파일을 읽기 전에 스트림 압축을 해제합니다.

IIS를 사용하는 경우 쉽게 HTTP 압축을 사용하도록 설정할 수 있습니다. 그러나 HTTP 압축을 사용하도록 설정하는 경우 특정 파일 형식(즉, HTML 및 텍스트 파일)에 대해서만 사용할 수 있습니다. 어셈블리(.dll), XML(.xml), 배포 매니페스트(.application) 및 애플리케이션 매니페스트(.manifest)에 대해 압축을 사용하도록 설정하려면 이러한 파일 형식을 IIS에서 압축할 형식 목록에 추가해야 합니다. 배포에 파일 형식을 추가할 때까지 텍스트 및 HTML 파일만 압축됩니다.

IIS에 대한 자세한 지침은 HTTP 압축을 위한 추가 문서 형식을 지정하는 방법을 참조하세요.