IIS 서버에서 Windows 10 앱 배포

이 자습서에서는 IIS 서버를 설정 하 고, 웹 앱이 앱 패키지를 호스트할 수 있는지 확인 하 고, 앱 설치 관리자를 효과적으로 호출 및 사용할 수 있는지 확인 하는 방법을 보여 줍니다.

응용 프로그램 설치 관리자 앱을 사용 하면 개발자와 IT 전문가가 자신의 Content Delivery Network (CDN)를 호스트 하 여 Windows 10 앱을 배포할 수 있습니다. 이는 앱을 Microsoft Store에 게시 하지 않으려는 경우 또는 Windows 10 패키징 및 배포 플랫폼을 활용 하려는 기업에 유용 합니다.

설정

이 자습서를 성공적으로 진행 하려면 다음이 필요 합니다.

  1. Visual Studio 2017
  2. 웹 개발 도구 및 IIS
  3. Windows 10 앱 패키지-배포할 앱 패키지

선택 사항: GitHub에 대 한 스타터 Project 입니다. 이 기능은에서 사용할 앱 패키지가 없지만이 기능을 사용 하는 방법을 배우는 경우에 유용 합니다.

1 단계-IIS 및 ASP.NET 설치

인터넷 정보 서비스 은 시작 메뉴를 통해 설치할 수 있는 Windows 기능입니다. 시작 메뉴 검색 기능을 Windows 설정 하거나 해제 합니다.

인터넷 정보 서비스 찾아 선택 하 여 IIS를 설치 합니다.

참고

인터넷 정보 서비스 아래의 모든 확인란을 선택 하지 않아도 됩니다. 인터넷 정보 서비스 확인 하는 경우에만 선택 된 것으로 충분 합니다.

ASP.NET 4.5 이상도 설치 해야 합니다. 이 기능을 설치 하려면 인터넷 정보 서비스 > World Wide Web 서비스-> 응용 프로그램 개발 기능 을 찾습니다. ASP.NET 4.5 보다 크거나 같은 ASP.NET 버전을 선택 합니다.

ASP.NET 기능 설치 스크린샷

2 단계-Visual Studio 2017 및 웹 개발 도구 설치

Visual Studio 2017 을 설치 합니다 (아직 설치 하지 않은 경우). Visual Studio 2017이 이미 있는 경우 다음 작업을 설치 해야 합니다. 워크 로드가 설치에 없는 경우 Visual Studio 설치 관리자 (시작 메뉴에 있음)를 사용 하 여 수행 합니다.

설치 하는 동안 ASP.NET 및 웹 개발 및 관심 있는 기타 작업을 선택 합니다.

설치가 완료 되 면 Visual Studio를 시작 하 고 새 프로젝트를 만듭니다 (새로운 파일 -> Project).

3 단계-웹 앱 빌드

관리자 권한 으로 Visual Studio 2017를 시작 하 고 프로젝트 템플릿을 사용 하 여 새 Visual c # 웹 응용 프로그램 프로젝트를 만듭니다.

새 웹 프로젝트를 만드는 스크린샷

4 단계-웹 앱을 사용 하 여 IIS 구성

솔루션 탐색기에서 루트 프로젝트를 마우스 오른쪽 단추로 클릭 하 고 속성 을 선택 합니다.

웹 앱 속성에서 탭을 선택 합니다. 서버 섹션의 드롭다운 메뉴에서 로컬 IIS 를 선택 하 고 가상 디렉터리 만들기 를 클릭 합니다.

프로젝트 속성의 웹 탭 스크린샷

5 단계-웹 응용 프로그램에 앱 패키지 추가

웹 응용 프로그램에 배포할 앱 패키지를 추가 합니다. 응용 프로그램 패키지를 사용할 수 없는 경우 GitHub에서 제공 된 스타터 프로젝트 패키지 의 일부인 앱 패키지를 사용할 수 있습니다. 패키지에 서명 된 인증서 (MySampleApp)도 GitHub의 샘플과 함께 사용 됩니다. 앱을 설치 하기 전에 인증서가 장치에 설치 되어 있어야 합니다 (9 단계).

Starter project 웹 응용 프로그램에서 배포할 앱 패키지를 포함 하는 패키지 라는 새 폴더가 웹 앱에 추가 되었습니다. Visual Studio에서 폴더를 만들려면 솔루션 탐색기에서 프로젝트 노드를 마우스 오른쪽 단추로 클릭 하 -> 고 새 폴더 추가를 선택 하 고 패키지 이름을로 설정 합니다. 폴더에 앱 패키지를 추가 하려면 패키지 폴더를 마우스 오른쪽 단추로 클릭 하 고 -> 기존 항목 추가 ... 를 선택 하 고 앱 패키지 위치로 이동 합니다.

패키지 추가 스크린샷

6 단계-웹 페이지 만들기

이 샘플 웹 앱은 간단한 HTML을 사용 합니다. 필요에 따라 필요에 따라 웹 앱을 자유롭게 빌드할 수 있습니다.

솔루션 탐색기의 루트 프로젝트를 마우스 오른쪽 단추로 클릭 하 고 , -> 새 항목 추가를 선택 하 고, 섹션에서 새 HTML 페이지 를 추가 합니다.

HTML 페이지가 만들어지면 솔루션 탐색기에서 HTML 페이지를 마우스 오른쪽 단추로 클릭 하 고 시작 페이지로 설정 을 선택 합니다.

HTML 파일을 두 번 클릭 하 여 코드 편집기 창에서 엽니다. 이 자습서에서는 웹 페이지에서 앱 설치 관리자 앱을 호출 하 여 Windows 10 앱을 설치 하는 데 필요한 요소만 사용 됩니다.

웹 페이지에 다음 HTML 코드를 포함 합니다. 앱 설치 관리자를 성공적으로 호출 하려면 앱 설치 관리자가 OS에 등록 하는 사용자 지정 체계를 사용 해야 ms-appinstaller:?source= 합니다. 자세한 내용은 아래의 코드 예제를 참조 하세요.

참고

사용자 지정 체계 뒤에 지정 된 url 경로가 VS 솔루션의 웹 탭에 있는 Project url과 일치 하는지 확인 합니다.

<html>
<head>
    <meta charset="utf-8" />
    <title> Install Page </title>
</head>
<body>
    <a href="ms-appinstaller:?source=http://localhost/SampleWebApp/packages/MySampleApp.msixbundle"> Install My Sample App</a>
</body>
</html>

7 단계-앱 패키지 MIME 형식에 대 한 웹 앱 구성

솔루션 탐색기에서 Web.config 파일을 열고 요소 내에 다음 줄을 추가 합니다 <configuration> .

<system.webServer>
    <!--This is to allow the web server to serve resources with the appropriate file extension-->
    <staticContent>
      <mimeMap fileExtension=".appx" mimeType="application/appx" />
      <mimeMap fileExtension=".msix" mimeType="application/msix" />
      <mimeMap fileExtension=".appxbundle" mimeType="application/appxbundle" />
      <mimeMap fileExtension=".msixbundle" mimeType="application/msixbundle" />
      <mimeMap fileExtension=".appinstaller" mimeType="application/appinstaller" />
    </staticContent>
</system.webServer>

참고

최신 Microsoft 웹 기술 .NET Core .NET Core ASP를 사용 하는 웹 사이트 빌드는 정적 콘텐츠 mimeMap 무시 web.config 합니다. 결과적으로 MSIX 설치를 호스트 하는 .NET Core 웹 사이트의 적절 한 구성이 필요 하며, 시작 .cs 파일에서 구성 메서드를 수정 해야 합니다. 자세한 내용은 .Net Core 설명서 를 참조 하세요.

8 단계-앱 설치 관리자에 대 한 루프백 예외 추가

네트워크 격리로 인해 앱 설치 관리자와 같은 앱 Windows 10는와 같은 IP 루프백 주소를 사용 하도록 제한 됩니다 http://localhost/ . 로컬 IIS 서버를 사용 하는 경우 앱 설치 관리자를 루프백 예외 목록에 추가 해야 합니다.

이렇게 하려면 관리자 권한 으로 명령 프롬프트 를 열고 다음을 입력 합니다.

CheckNetIsolation.exe LoopbackExempt -a -n=microsoft.desktopappinstaller_8wekyb3d8bbwe

앱이 제외 목록에 추가 되었는지 확인 하려면 다음 명령을 사용 하 여 루프백 제외 목록에 앱을 표시 합니다.

CheckNetIsolation.exe LoopbackExempt -s

microsoft.desktopappinstaller_8wekyb3d8bbwe목록에서를 찾습니다.

앱 설치 관리자를 통해 앱 설치의 로컬 유효성 검사를 완료 한 후에는이 단계에서 추가한 루프백 예외를 제거할 수 있습니다.

CheckNetIsolation.exe LoopbackExempt -d -n=microsoft.desktopappinstaller_8wekyb3d8bbwe

9 단계-웹 앱 실행

아래 그림에 표시 된 것 처럼 VS 리본에서 실행 단추를 클릭 하 여 웹 응용 프로그램을 빌드하고 실행 합니다.

Visual Studio에서 웹 앱을 실행 하는 스크린샷

웹 페이지가 브라우저에서 열립니다.

웹 페이지에서 앱을 설치 하는 스크린샷

웹 페이지의 링크를 클릭 하 여 앱 설치 관리자 앱을 시작 하 고 Windows 10 앱 패키지를 설치 합니다.

문제 해결

권한이 부족 합니다.

Visual Studio에서 웹 앱을 실행 하는 경우 "사용자 컴퓨터의 IIS 웹 사이트에 액세스할 수 있는 권한이 없습니다."와 같은 오류가 표시 되는 경우 관리자 권한으로 Visual Studio를 실행 해야 합니다. Visual Studio의 현재 인스턴스를 닫고 관리자 권한으로 다시 엽니다.

시작 페이지 설정

웹 앱을 실행 하는 경우 HTTP 403.14 금지 오류가 발생 하 여 브라우저가 로드 됩니다. 웹 앱에 정의 된 시작 페이지가 없기 때문입니다. 시작 페이지를 정의 하는 방법에 대 한 자세한 내용은이 자습서의 6 단계를 참조 하세요.