다음을 통해 공유


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

Windows Server에서 IIS(인터넷 정보 서비스)를 사용하고 배포에 Microsoft Word 파일과 같이 Windows에서 인식하지 못하는 파일 형식이 포함된 경우 IIS는 해당 파일 전송을 거부하고 배포에 성공하지 못합니다.

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

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

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

  • .애플리케이션

  • .manifest

  • .배포

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

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

ClickOnce 및 SSL(Secure Sockets Layer)

ClickOnce 애플리케이션은 브라우저에서 SSL 인증서에 대한 프롬프트를 발생시킬 때를 제외하고 SSL을 통해 제대로 작동합니다. 사이트 이름이 일치하지 않거나 인증서가 만료된 경우와 같이 인증서에 문제가 있는 경우 프롬프트가 발생할 수 있습니다. ClickOnce가 SSL 연결을 통해 작동하도록 하려면 인증서가 up-to-date이고 인증서 데이터가 사이트 데이터와 일치하는지 확인합니다.

ClickOnce 및 프록시 인증

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

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

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

ClickOnce 및 웹 브라우저 호환성

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

비고

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

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

활성 스크립팅을 사용하여 ClickOnce 애플리케이션을 시작하는 사용자 지정 웹 페이지를 개발한 경우 일부 컴퓨터에서 애플리케이션이 시작되지 않을 수 있습니다. 브라우저에는 이 동작에 영향을 미치는 파일 다운로드에 대한 자동 프롬프트와 같은 설정이 포함되어 있습니다. 이 브라우저 설정은 일반적으로 다운로드 범주 아래에 나열되며 기본적으로 사용하도록 설정됩니다. 이 설정을 사용하지 않도록 설정하면 프로그래밍 방식으로 ClickOnce 애플리케이션을 활성화하려는 모든 시도(예: 속성에 URL document.location 을 할당하여)가 차단됩니다. 이러한 상황에서 사용자는 애플리케이션의 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 유형 Description
ftp:// 이 프로토콜을 사용하여 ClickOnce 애플리케이션을 게시할 수 있습니다.
http:// 이 프로토콜을 사용하여 ClickOnce 애플리케이션을 설치할 수 있습니다.
https:// 이 프로토콜을 사용하여 ClickOnce 애플리케이션을 설치할 수 있습니다.
파일:// 이 프로토콜을 사용하여 ClickOnce 애플리케이션을 설치할 수 있습니다.

Windows 방화벽

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

Windows Server: FrontPage 서버 확장 사용

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

기본적으로 Windows Server에는 FrontPage Server 확장이 설치되어 있지 않습니다. Visual Studio를 사용하여 FrontPage Server 확장과 함께 HTTP를 사용하는 Windows Server 웹 서버에 게시하려면 먼저 FrontPage Server 확장을 설치해야 합니다. 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 압축을 위해 추가 문서 형식을 지정하는 방법을 참조하세요.