소스 코드에서 MSIX Core를 사용하여 MSIX 패키지 만들기

MSIX Core는 MSIX 배포를 통해 이전 버전의 Windows 선택합니다. MSIX Core 설치 관리자를 활용하여 ClickOnce 사용하여 애플리케이션을 만들 수 있습니다. 이렇게 하면 사용자가 setup.exe 다운로드하고 MSIX Core 설치 관리자를 통해 MSIX 앱을 설치할 수 있습니다.

웹 서버에서 앱 호스트

MSIX Core 설치 관리자를 사용하여 앱을 부트스트래핑할 준비를 하려면 웹 서버에서 앱 패키지를 호스트해야 합니다. 이 섹션에서는 Azure,IIS(인터넷 정보 서비스) 및 AWS(Amazon Web Services)에서웹앱을 설정하는 방법에 대해 자세히 설명합니다.

Azure

이 옵션을 사용하려면 Azure 구독이 있어야 합니다. 하나를 가져오려면 Azure 계정 페이지 를 참조하세요.

Azure 웹 앱 만들기

시작하려면 Azure Portal 페이지로 이동하여 다음 단계를 수행합니다.

  1. 리소스 만들기를 클릭합니다.
  2. 웹을 클릭하고 웹앱 을선택합니다.
  3. 인스턴스 세부 정보아래에서 고유한 앱 이름을 만들고 앱에 대한 적절한 설정을 선택합니다. 예를 들어 코드 또는 Docker 컨테이너와런타임 스택중에서 선택해야 합니다. 그렇지 않으면 다른 모든 것을 기본값으로 둡니다.
  4. 만들기를 클릭하고 마법사를 완료합니다.

앱 패키지 및 웹 페이지 호스트

  1. 웹앱을 만든 후 앱을 선택합니다.
  2. 개발 도구에서 App Service 편집기를 클릭합니다.
  3. 편집기에서 기본 hostingstart.html 파일이 있습니다. 파일 탐색기 빈 공간을 마우스 오른쪽 단추로 클릭하고 업로드 파일을 선택하여 앱 패키지 업로드를 시작합니다.
  4. 파일 탐색기 패널의 빈 공간을 다시 마우스 오른쪽 단추로 클릭하고 새 파일을 선택하여 새 파일을 만듭니다. 파일 이름을 기본 HTML 페이지로 지정합니다.

앱 패키지 MIME 형식에 대한 웹앱 구성

Web.config 라는 새 파일을 웹앱에 추가합니다. Web.config 파일을 열고 파일에 다음 XML을 추가합니다.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <!--This is to allow the web server to serve resources with the appropriate file extensions-->
    <staticContent>
      <mimeMap fileExtension=".appx" mimeType="application/appx" />
      <mimeMap fileExtension=".msix" mimeType="application/msix" />
    </staticContent>
  </system.webServer>
</configuration>

IIS(인터넷 정보 서비스)

IIS는 선택적 Windows 기능입니다. IIS를 설치하려면 다음을 수행합니다.

  1. 시작을 클릭하고 Windows 기능 설정 또는 해제를 검색합니다.
  2. 인터넷 정보 서비스선택합니다.
  3. 또한 ASP.NET 4.5 이상 설치해야 합니다. Windows 기능 대화 상자에서 인터넷 정보 서비스 - World Wide Web Services - 애플리케이션 개발 기능을 확장하고 ASP.NET4.5보다크거나 같은 ASP.NET 버전을 선택합니다.
  4. 확인을 클릭하여 설치를 시작합니다.

Visual Studio 2017 이상 버전 및 웹 개발 도구가 필요합니다. Visual Studio 2017 이상 버전이 이미 설치된 경우 ASP.NET 및 웹 개발 워크로드가 설치되어 있는지 확인합니다. 그렇지 않으면 여기에서 Visual Studio 설치합니다.

웹앱 만들기

관리자 권한으로 Visual Studio 시작하고 빈 프로젝트 템플릿을 사용하여 새 Visual C# 웹 애플리케이션 프로젝트를 만듭니다.

웹앱으로 IIS 구성

  1. 솔루션 탐색기루트 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을선택합니다.
  2. 속성에서 탭을 선택합니다.
  3. 서버 섹션의 드롭다운 메뉴에서 로컬 IIS를 선택하고 가상 디렉터리 만들기를클릭합니다.

웹 애플리케이션에 앱 패키지 추가

웹 애플리케이션에 배포하려는 앱 패키지를 추가합니다.

  1. 솔루션 탐색기에서 프로젝트 노드를 마우스 오른쪽 단추로 클릭합니다.
  2. 추가 - 새 폴더를 선택하고 폴더 패키지의 이름을 로 지정합니다.
  3. 앱 패키지를 폴더에 추가하려면 패키지 폴더를 마우스 오른쪽 단추로 클릭하고 추가 - 기존 항목을선택합니다. 앱 패키지 위치로 찾습니다.

웹 페이지 만들기

필요에 따라 HTML 페이지 또는 다른 웹앱을 만듭니다. 새 setup.exe 링크를 추가합니다.

앱 패키지 MIME 형식에 대한 웹앱 구성

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

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

Amazon Web Services(AWS)

이 옵션을 사용하려면 AWS 멤버 자격이 있어야 합니다. 자세한 내용은 AWS 계정 세부 정보 를 참조하세요.

Amazon S3 버킷 만들기 및 MSIX 패키지 및 웹 페이지 업로드

Amazon S3(Simple Storage Service)는 데이터를 수집, 저장 및 분석하기 위한 AWS 제품입니다. S3 버킷은 배포를 위해 Windows 10 앱 패키지 및 웹 페이지를 호스트하는 편리한 방법입니다.

  1. AWS에 로그인합니다. 서비스 아래에서 S3를 찾습니다.
  2. 버킷 만들기를 선택하고 웹 사이트의 버킷 이름을 입력합니다. 대화 상자 프롬프트에 따라 속성 및 사용 권한을 설정합니다. Windows 10 앱을 웹 사이트에서 배포할 수 있도록 하려면 버킷에 대한 읽기쓰기 권한을 사용하도록 설정하고 이 버킷에 대한 공용 읽기 권한 부여를선택합니다. 버킷 만들기를 클릭하여 이 단계를 완료합니다.
  3. 완료되면 MSIX 패키지 및 웹 페이지를 S3 버킷에 업로드합니다.

앱 패키지 MIME 형식에 대한 웹앱 구성

S3 브라우저와 같은 웹 서비스 인터페이스를 사용하여 새 기본 HTTP 헤더 를 추가합니다.

  1. 도구로 이동하여 기본 HTTP 헤더를 선택합니다.
  2. 기본 HTTP 헤더 대화 상자에서 추가를클릭합니다.
  3. 기본 HTTP 헤더 추가 대화 상자에서 버킷 이름, 파일 이름, 헤더 이름 및 헤더 값을 지정한 다음 새 헤더 추가를클릭합니다.
    • 버킷 이름:msix-packages
    • 파일 이름:*.msix
    • 헤더 이름:Content-Type
    • 헤더 값:application/msix

참고

 AWS에는 따라야 하는 몇 가지 엄격한 지침이 있습니다. 예를 들어 버킷 이름은 고유해야 하므로 위의 예제를 사용하는 경우 버킷 이름을 변경해야 합니다.

MSIX Core 설치 관리자를 사용하여 ClickOnce 애플리케이션 빌드

애플리케이션 애플리케이션 ClickOnce setup.exe 찾습니다. 이는 Git 프로젝트의 복제본을 참조하고, Visual Studio 프로젝트를 통해 빌드하고 게시합니다.

URL 명령을 실행하여 새 setup.exe 만들기

지침에 따라 Visual Studio MSIX Core 솔루션을 복제, 빌드 및 게시했는지 확인합니다. 참조를 위해 GitHub 프로젝트는 여기에서 찾을 수 있습니다.

setup.exe 파일을 게시한 디렉터리로 이동한 후 다음 명령을 실행합니다.

.\setup.exe -url=<location of your msix in the webservice>

.\setup.exe -url="https://appinstallerdemo.azurewebsites.net/MSIXCore/msixmgrWrapper.application?https://appinstallerdemo.azurewebsites.net/MSIXCore/notepadplus.msix#"

애플리케이션 서명

이전 단계에서 새 setup.exe 만들었으므로 애플리케이션의 신뢰할 수 있는 게시자인지 확인하고 애플리케이션의 무결성을 설정하려면 앱에 다시 서명해야 합니다. SignTool을 사용하고 인증서를 제공할 수 있습니다.

사용자에게 애플리케이션 배포

이제 웹 사이트의 링크 또는 다운로드 단추를 사용하여 새 setup.exe 가리킬 수 있습니다. MSIX Core는 Windows 10 버전 1703 이전의 사용자를 대상으로 합니다. 앱 설치 관리자 Windows 1709 이상 버전의 MSIX 패키지에 적합한 설치 프로세스입니다. 앱 설치 관리자 소비자 쪽의 디스크 공간에 최적화되며 HTTP 위치에서 앱을 직접 설치할 수 있습니다. msix Core는 소비자가 1709 이상 버전에 Windows 있는지 검색 하 여 앱 설치 관리자에 게 리디렉션합니다.

Microsoft Edge에서 getHostEnvironmentValue () 메서드를 호출할 수 있으며, 반환 값의 os 빌드 필드는 사용자의 os 버전을 지정 합니다. 그런 다음 msix 코어 (Windows 10 버전 1703 및 이전 버전) 또는 앱 설치 관리자 (Windows 10 버전 1709 이상)를 사용 하 여 설치 프로세스에 대 한 메시지를 표시할 수 있습니다.

사용자 환경

사용자는 개발자 웹 페이지에서 setup.exe를 다운로드 하 여 실행 하기만 하면 됩니다.

  • 사용자가 setup.exe를 실행할 때 msix 코어 설치 관리자가 아직 설치 되지 않은 경우 사용자에 게 ClickOnce 프롬프트가 표시 되 고 설치 를 클릭 하 여 msix 코어 설치 관리자를 설치 합니다. 설치 관리자가 자동으로 시작 하 고 개발자의 쿼리 문자열에 지정 된 MSIX 패키지의 설치 화면을 표시 하 여 사용자가 앱을 설치할 수 있도록 합니다.
  • 사용자가 setup.exe를 실행할 때 MSIX 코어 설치 관리자가 이미 설치 되어 있는 경우 MSIX 코어 설치 관리자가 자동으로 시작 되어 사용자가 앱을 설치 하기 위해 쿼리 문자열에 지정 된 MSIX 패키지의 설치 화면을 표시 합니다.