소스 코드에서 MSIX Core를 사용하여 MSIX 패키지 만들기Create an MSIX package with MSIX Core from source code

Msix Core 는 이전 버전의 Windows를 선택할 수 있는 배포를 제공 합니다.MSIX Core brings MSIX deployment to select previous versions of Windows. MSIX 코어 설치 관리자를 활용 하 여 ClickOnce를 사용 하 여 응용 프로그램을 만들 수 있습니다.You can leverage the MSIX Core installer to create an application using ClickOnce. 이렇게 하면 사용자가 setup.exe를 다운로드 하 고 MSIX 코어 설치 관리자를 통해 MSIX 앱을 설치할 수 있습니다.This will allow your users to download a setup.exe and install the MSIX app through the MSIX Core installer.

웹 서버에서 앱 호스트Host your app on a web server

MSIX 코어 설치 관리자를 사용 하 여 앱을 부트스트랩 하기 위해 준비 하려면 웹 서버에서 앱 패키지를 호스트 해야 합니다.To get your app ready for bootstrapping with the MSIX Core installer, you’ll need to host your app package on a web server. 이 섹션에서는 Azure, 인터넷 정보 서비스 (IIS)Amazon Web Services (AWS)에서 웹 앱을 설정 하는 방법에 대해 자세히 설명 합니다.This section provides details about how to set up a web app on Azure, Internet Information Services (IIS), and Amazon Web Services (AWS).

AzureAzure

이 옵션을 사용 하려면 Azure 구독이 있어야 합니다.To use this option you must have an Azure subscription. 다운로드 하려면 Azure 계정 페이지를 참조 하세요.To obtain one, see the Azure account page.

Azure 웹 앱 만들기Create an Azure Web App

시작 하려면 Azure Portal 페이지로 이동 하 여 다음 단계를 수행 합니다.To get started go to the Azure portal page and follow these steps:

  1. 리소스 만들기를 클릭합니다.Click Create a Resource.
  2. 을 클릭 하 고 웹 앱을 선택 합니다.Click Web and select Web App.
  3. 인스턴스 세부 정보에서 고유한 앱 이름을 만들고 앱에 대 한 적절 한 설정을 선택 합니다.Under Instance Details, create a unique app name and select the appropriate settings for your app. 예를 들어 코드 또는 Docker 컨테이너런타임 스택중에서 선택 해야 합니다.For example, you will need to choose between Code or Docker Container and the Runtime Stack. 그렇지 않으면 다른 모든 항목을 기본값으로 둡니다.Otherwise, leave everything else default.
  4. 만들기 를 클릭 하 고 마법사를 완료 합니다.Click Create and finish the wizard.

앱 패키지 및 웹 페이지 호스팅Host the app package and the web page

  1. 웹 앱을 만든 후 앱을 선택 합니다.After you create the web app, select the app.
  2. 개발 도구에서 App Service 편집기를 클릭 합니다.Under Development Tools, click App Service Editor.
  3. 편집기에는 기본 hostingstart.html 파일이 있습니다.In the editor, there is a default hostingstart.html file. 파일 탐색기의 빈 공간을 마우스 오른쪽 단추로 클릭 하 고 파일 업로드 를 선택 하 여 앱 패키지 업로드를 시작 합니다.Right-click in the empty space of File Explorer and select Upload Files to begin uploading your app packages.
  4. 파일 탐색기 패널의 빈 공간을 마우스 오른쪽 단추로 다시 클릭 하 고 파일을 선택 하 여 새 파일을 만듭니다.Right-click in the empty space of the File Explorer panel again and select New Files to create a new file. 파일 이름을 기본 HTML 페이지의 이름으로 지정할 수 있습니다.Name the file what you want your default HTML page to be.

앱 패키지 MIME 형식에 대 한 웹 앱 구성Configure the web app for app package MIME types

웹 앱에 Web.config 라는 새 파일을 추가 합니다.Add a new file named Web.config to the web app. Web.config 파일을 열고 파일에 다음 XML을 추가 합니다.Open the Web.config file and add the following XML to the file.

<?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(인터넷 정보 서비스)Internet Information Services (IIS)

IIS는 선택적 Windows 기능입니다.IIS is an optional Windows feature. IIS를 설치 하려면:To install IIS:

  1. 시작 을 클릭 하 고 Windows 기능 사용/사용 안 함을 검색 합니다.Click Start and search for Turn Windows features on or off.
  2. 인터넷 정보 서비스를 선택 합니다.Select Internet Information Services.
  3. 또한 ASP.NET 4.5 이상을 설치 해야 합니다.Also make sure you install ASP.NET 4.5 or greater. Windows 기능 대화 상자에서 인터넷 정보 서비스 -> World Wide Web Services -> 응용 프로그램 개발 기능을 확장 하 고 ASP.NET 4.5보다 크거나 같은 ASP.NET 버전을 선택 합니다.In the Windows Features dialog, expand Internet Information Services -> World Wide Web Services -> Application Development Features, and select a version of ASP.NET that is greater than or equal to ASP.NET 4.5.
  4. 확인 을 클릭 하 여 설치를 시작 합니다.Click OK to begin the installation.

Visual Studio 2017 이상 버전 및 웹 개발 도구가 필요 합니다.Visual Studio 2017 (or a later version) and Web Development Tools are required. Visual Studio 2017 이상 버전이 이미 설치 되어 있는 경우 ASP.NET 및 웹 개발 워크 로드가 설치 되어 있는지 확인 합니다.If you already have Visual Studio 2017 or a later version installed, make sure you have the ASP.NET and Web development workloads installed. 그렇지 않으면 여기에서 Visual Studio를 설치 합니다.Otherwise, install Visual Studio from here.

웹앱 만들기Build a web app

관리자 권한으로 Visual Studio를 시작 하 고 빈 프로젝트 템플릿을 사용 하 여 새 Visual c # 웹 응용 프로그램 프로젝트를 만듭니다.Start Visual Studio as an administrator and create a new Visual C# Web Application project with an empty project template.

웹 앱을 사용 하 여 IIS 구성Configure IIS with your Web app

  1. 솔루션 탐색기에서 루트 프로젝트를 마우스 오른쪽 단추로 클릭 하 고 속성을 선택 합니다.In Solution Explorer, right-click on the root project and select Properties.
  2. 속성에서 탭을 선택 합니다.In properties, select the Web tab.
  3. 서버 섹션의 드롭다운 메뉴에서 로컬 IIS 를 선택 하 고 가상 디렉터리 만들기를 클릭 합니다.In the Servers section, choose Local IIS from the dropdown menu and click Create Virtual Directory.

웹 응용 프로그램에 앱 패키지 추가Add the app package to the web application

웹 응용 프로그램에 배포할 앱 패키지를 추가 합니다.Add the app package that you want to distribute to the web application:

  1. 솔루션 탐색기에서 프로젝트 노드를 마우스 오른쪽 단추로 클릭 합니다.In Solution Explorer, right-click the project node.
  2. Add -> 새 폴더 추가를 선택 하 고 폴더 이름을 패키지에 추가 합니다.Select Add -> New Folder and name the folder packages.
  3. 폴더에 앱 패키지를 추가 하려면 패키지 폴더를 마우스 오른쪽 단추로 클릭 하 고 Add -> 기존 항목추가를 선택 합니다.To add app packages to the folder, right-click the packages folder and select Add -> Existing Item. 앱 패키지 위치로 이동 합니다.Browse to the app package location.

웹 페이지 만들기Create a web page

필요에 따라 HTML 페이지나 다른 웹 앱을 만듭니다.Create an HTML page or any other web app as required per your needs. 새 setup.exe의 링크를 추가 합니다.Add the link of your new setup.exe.

앱 패키지 MIME 형식에 대 한 웹 앱 구성Configure the web app for app package MIME types

솔루션 탐색기에서 Web.config 파일을 열고 요소 내에 다음 XML을 추가 합니다 .Open the Web.config file from the solution explorer and add the following XML within the element.

<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)Amazon Web Services (AWS)

이 옵션을 사용 하려면 AWS 멤버 자격이 있어야 합니다.To use this option you must have an AWS membership. 자세한 내용은 AWS 계정 세부 정보를 참조 하세요.For more information, see AWS account details.

Amazon S3 버킷을 만들고 MSIX 패키지 및 웹 페이지 업로드Create an Amazon S3 bucket and upload your MSIX packages and web pages

Amazon Simple Storage Service (S3)는 데이터 수집, 저장 및 분석을 위한 AWS 제품입니다.Amazon Simple Storage Service (S3) is an AWS offering for collecting, storing and analyzing data. S3 버킷은 배포를 위해 Windows 10 앱 패키지 및 웹 페이지를 호스트 하는 편리한 방법입니다.S3 buckets are a convenient way to host Windows 10 app packages and web pages for distribution.

  1. AWS에 로그인 합니다.Log in to AWS. 서비스 에서 S3을 찾습니다.Under Services find S3.
  2. 버킷 만들기 를 선택 하 고 웹 사이트의 버킷 이름을 입력 합니다.Select Create bucket and enter a Bucket name for your website. 속성 및 사용 권한 설정에 대 한 대화 상자 프롬프트를 따릅니다.Follow the dialog prompts for setting properties and permissions. 웹 사이트에서 Windows 10 앱을 배포할 수 있도록 하려면 버킷에 대 한 읽기쓰기 권한을 사용 하도록 설정 하 고 이 버킷에 공용 읽기 권한 부여를 선택 합니다.To ensure that your Windows 10 app can be distributed from your website, enable Read and Write permissions for your bucket and select Grant public read access to this bucket. 버킷 만들기 를 클릭 하 여이 단계를 완료 합니다.Click Create bucket to finish this step.
  3. 완료 되 면 MSIX 패키지 및 웹 페이지를 S3 버킷에 업로드 합니다.When you are finished, upload your MSIX packages and web pages to the S3 bucket.

앱 패키지 MIME 형식에 대 한 웹 앱 구성Configure the web app for app package MIME types

 S3 브라우저와 같은 웹 서비스 인터페이스를 사용 하 여   새로운 기본 HTTP 헤더를 추가 합니다.Using a web service interface like S3 browser to add a new Default HTTP Headers.

  1. 도구 로 이동 하 여 기본 HTTP 헤더를 선택 합니다.Navigate to Tools and select Default HTTP Headers.
  2. 기본 HTTP 헤더 대화 상자에서 추가를 클릭 합니다.In the Default HTTP Headers dialog, click Add.
  3. 새 기본 HTTP 헤더 추가 대화 상자에서 버킷 이름, 파일 이름, 헤더 이름 및 헤더 값을 지정 하 고 새 머리글 추가를 클릭 합니다.In the Add New Default HTTP Headers dialog, specify the bucket name, file name, header name, and header value, and then click Add new header.
    • 버킷 이름: msix-패키지Bucket name: msix-packages
    • 파일 이름: *. msixFile name: *.msix
    • 헤더 이름: content-typeHeader name: Content-Type
    • 헤더 값: application/msixHeader value: application/msix

참고

 AWS에는 몇 가지 엄격한 지침을 따라야 합니다. AWS have some strict guidelines you will have to follow. 예를 들어 버킷 이름은 고유 해야 하므로 위의 예제를 사용 하는 경우 버킷 이름을 변경 해야 합니다.For example, Bucket names are required to be unique and therefore if you are using the example above, you will need to change the Bucket name.

MSIX 코어 설치 관리자를 사용 하 여 ClickOnce 응용 프로그램 빌드Use the MSIX Core installer to build the ClickOnce application

응용 프로그램 응용 프로그램 ClickOnce setup.exe를 찾습니다.Find your application application ClickOnce setup.exe.

URL 명령을 실행 하 여 새 setup.exe 만들기Run URL command to create new setup.exe

Visual Studio에서 MSIX 코어 솔루션을 복제, 빌드 및 게시 하기 위한 지침을 따랐는지 확인 합니다.Make sure you have followed the instructions to clone, build and publish the MSIX Core solution in Visual Studio.

setup.exe 파일을 다운로드 한 디렉터리로 이동한 후 다음 명령을 실행 합니다.Navigate to the directory where you downloaded the setup.exe file and then run this command:

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

응용 프로그램 서명Sign the application

이전 단계에서 새 setup.exe를 만들었으므로 앱에 다시 서명 하 여 응용 프로그램의 신뢰할 수 있는 게시자 인지 확인 하 고 응용 프로그램의 무결성을 설정 해야 합니다.Because the previous step created a new setup.exe, you will need to sign the app again to verify that you're a trusted publisher of the application and to establish the integrity of the application. SignTool 를 사용 하 여 인증서를 제공할 수 있습니다.You can use the SignTool and provide your certificate.

사용자에 게 응용 프로그램 배포Distribute the application to your users

이제 링크 또는 다운로드 단추를 사용 하 여 웹 사이트에서 새 setup.exe를 가리킬 수 있습니다.You can now point to the new setup.exe with a link or download button on their website. MSIX Core는 Windows 10 버전 1703 및 이전 버전의 사용자를 대상으로 합니다.MSIX Core is targeted towards users on Windows 10, version 1703 and earlier. 앱 설치 관리자 는 Windows 1709 이상 버전의 msix 패키지에 대해 이상적인 설치 프로세스입니다.The App Installer is the ideal installation process for MSIX packages on Windows 1709 or a later version. 앱 설치 관리자는 소비자 측의 디스크 공간을 최적화 하 고 HTTP 위치에서 앱을 직접 설치할 수 있습니다.App Installer optimizes for disk space on the consumer side and can directly install apps from HTTP locations. MSIX Core는 소비자가 Windows 1709 이상 버전에 있는지 검색 하 고 앱 설치 관리자에 게 리디렉션합니다.MSIX Core will detect if a consumer is on Windows 1709 or a later version and redirect them to App Installer.

Microsoft Edge에서는 getHostEnvironmentValue () 메서드를 호출할 수 있으며, 반환 값의 os-빌드 필드는 사용자의 os 버전을 지정 합니다.On Microsoft Edge, you can call the getHostEnvironmentValue() method and the os-build field in the return value will specify the OS version of the user. 그런 다음 MSIX 코어 (Windows 10, 버전 1703 및 이전 버전) 또는 앱 설치 관리자 (Windows 10 버전 1709 이상)를 사용 하 여 설치 프로세스에 대 한 메시지를 표시할 수 있습니다.From there, you can then prompt the installation process to use MSIX Core (for Windows 10, version 1703 and earlier) or App Installer (for Windows 10, version 1709 and later).

사용자 환경User experience

사용자는 개발자 웹 페이지에서 setup.exe를 다운로드 하 여 실행 하기만 하면 됩니다.Users simply download and run the setup.exe from the developer’s webpage.

  • 사용자가 setup.exe를 실행할 때 MSIX 코어 설치 관리자가 아직 설치 되지 않은 경우 사용자에 게 ClickOnce 프롬프트가 표시 되 고 설치 를 클릭 하 여 Msix 코어 설치 관리자를 설치 합니다.If the MSIX Core installer is not yet installed when the user runs setup.exe, the user sees the ClickOnce prompt and they click Install to install the MSIX Core installer. 설치 관리자가 자동으로 시작 하 고 개발자의 쿼리 문자열에 지정 된 MSIX 패키지의 설치 화면을 표시 하 여 사용자가 앱을 설치할 수 있도록 합니다.The installer automatically launches and shows the install screen for the MSIX package specified in the developer’s query string so the users can install the app.
  • 사용자가 setup.exe를 실행할 때 MSIX 코어 설치 관리자가 이미 설치 되어 있는 경우 MSIX 코어 설치 관리자가 자동으로 시작 되어 사용자가 앱을 설치 하기 위해 쿼리 문자열에 지정 된 MSIX 패키지의 설치 화면을 표시 합니다.If the MSIX Core installer is already installed when the user runs setup.exe, the MSIX Core installer automatically launches and shows the install screen for the MSIX package specified in the query string for users to install the app.