ソースコードから MSIX コアを使用して MSIX パッケージを作成するCreate an MSIX package with MSIX Core from source code

Msix コアでは、msix の展開を利用して、以前のバージョンの 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.

Web サーバーでアプリをホストするHost your app on a web server

MSIX コアインストーラーを使用してアプリのブートストラップを準備するには、アプリケーションパッケージを web サーバーでホストする必要があります。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)アマゾンウェブサービス (AWS)で web アプリを設定する方法について詳しく説明します。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. 1つを取得するには、 Azure アカウントのページを参照してください。To obtain one, see the Azure account page.

Azure Web アプリを作成する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. [Web] をクリックし、 [web アプリ] を選択します。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.

アプリケーションパッケージと web ページをホストするHost the app package and the web page

  1. Web アプリを作成したら、アプリを選択します。After you create the web app, select the app.
  2. [開発ツール][App Service Editor] をクリックします。Under Development Tools, click App Service Editor.
  3. エディターには、既定のhostingstartファイルがあります。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.

Web アプリのアプリパッケージの MIME の種類を構成するConfigure the web app for app package MIME types

Web.config という名前の新しいファイルを web アプリに追加します。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. [OK] をクリックしてインストールを開始します。Click OK to begin the installation.

Visual Studio 2017 (またはそれ以降のバージョン) と Web 開発ツールが必要です。Visual Studio 2017 (or a later version) and Web Development Tools are required. Visual Studio 2017 以降のバージョンが既にインストールされている場合は、ASP.NET と Web 開発のワークロードがインストールされていることを確認してください。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.

Web アプリの構築Build a web app

管理者として Visual Studio を起動し、空のプロジェクトテンプレートを使用して新しい C# visual Web アプリケーションプロジェクトを作成します。Start Visual Studio as an administrator and create a new Visual C# Web Application project with an empty project template.

Web アプリを使用して IIS を構成するConfigure IIS with your Web app

  1. ソリューションエクスプローラーで、ルートプロジェクトを右クリックし、 [プロパティ] を選択します。In Solution Explorer, right-click on the root project and select Properties.
  2. プロパティ で、 Web タブを選択します。In properties, select the Web tab.
  3. [サーバー] セクションで、ドロップダウンメニューから [ローカル IIS] を選択し、 [仮想ディレクトリの作成] をクリックします。In the Servers section, choose Local IIS from the dropdown menu and click Create Virtual Directory.

アプリケーションパッケージを web アプリケーションに追加するAdd the app package to the web application

Web アプリケーションに配布するアプリケーションパッケージを追加します。Add the app package that you want to distribute to the web application:

  1. ソリューションエクスプローラーで、プロジェクトノードを右クリックします。In Solution Explorer, right-click the project node.
  2. [新しいフォルダー追加 -> ] を選択し、フォルダーにパッケージの名前を指定します。Select Add -> New Folder and name the folder packages.
  3. アプリパッケージをフォルダーに追加するには、[パッケージ] フォルダーを右クリックし、[既存項目追加 -> ] を選択します。To add app packages to the folder, right-click the packages folder and select Add -> Existing Item. アプリパッケージの場所を参照します。Browse to the app package location.

Web ページを作成するCreate a web page

必要に応じて、HTML ページまたはその他の web アプリを作成します。Create an HTML page or any other web app as required per your needs. 新しい setup.exe のリンクを追加します。Add the link of your new setup.exe.

Web アプリのアプリパッケージの 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>

アマゾン ウェブ サービス (AWS) の比較Amazon Web Services (AWS)

このオプションを使用するには、AWS メンバーシップが必要です。To use this option you must have an AWS membership. 詳細については、「 AWS account details」を参照してください。For more information, see AWS account details.

Amazon S3 バケットを作成し、MSIX パッケージと web ページをアップロードする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 アプリケーションパッケージと web ページを配布するための便利な方法です。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. [バケットの作成] を選択し、web サイトのバケット名を入力します。Select Create bucket and enter a Bucket name for your website. ダイアログのプロンプトに従って、プロパティとアクセス許可を設定します。Follow the dialog prompts for setting properties and permissions. Windows 10 アプリを web サイトから配布できるようにするには、バケットの読み取り書き込みのアクセス許可を有効にし、[このバケットへのパブリック読み取りアクセスを許可する] を選択します。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 パッケージと web ページを S3 バケットにアップロードします。When you are finished, upload your MSIX packages and web pages to the S3 bucket.

Web アプリのアプリパッケージの MIME の種類を構成するConfigure the web app for app package MIME types

 S3 ブラウザー のような web サービスインターフェイスを使用して、新しい 既定の 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

これで、web サイトの [リンク] または [ダウンロード] ボタンを使用して、新しい setup.exe を参照できます。You can now point to the new setup.exe with a link or download button on their website. MSIX コアは、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 コアは、コンシューマーが 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

ユーザーは、開発者の web ページから 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.