# Windows アプリのビルド

## ビルドの種類

Electron アプリケーションには、2種類のビルド(デバッグとリリース)があります。\
デバッグとリリースの違いは次のとおりです。

| ビルド種別　　　　   | 説明                                                                  |
| ----------- | ------------------------------------------------------------------- |
| **デバッグビルド** | アプリケーションの起動時にデフォルトでデバッグ用ツール「DevTools」が表示されます。このツールは手動で閉じたり開いたりできます。 |
| **リリースビルド** | リリース用のため、デバッグ用ツール「DevTools」は表示されません。                                |

## ステップ 1: アプリ設定

1. Monaca クラウド IDE のメニューから、`設定 → Windows アプリ設定`  を選択します。
2. アプリに関する情報を入力します。
   * アプリ情報

     | アプリケーション名　　　　　　　 | アプリケーションの名前を入力                                                                                                                                                                   |
     | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
     | App ID           | ストアにアップロードするときに使用される一意の名前。 App IDには、逆ドメインスタイル（io.monaca.app\_nameなど）を使用することをお勧めします。英数字、ピリオド（少なくとも1つのピリオドを使用する必要があります）、およびアンダースコアのみが許可されます。各セグメントはピリオドで区切られ、アルファベット文字で始まる必要があります。 |
     | バージョン番号          | アプリのバージョン番号。バージョン番号は、ドットで区切られた番号のみで構成されます。（例:1.0.0）                                                                                                                              |
     | 説明               | アプリの概要を入力します。                                                                                                                                                                    |
   * アプリ アイコン

     アプリケーションのアイコンを設定します。 PNG形式がサポートされています。すべてのオペレーティングシステムでアイコンを利用する場合は、「512x512」ピクセルのものが最低限必要となります。
3. 設定後、`保存する` をクリックします。

## ステップ 2: アプリのビルド

1. Monaca クラウド IDE のメニューから、 `ビルド → Windows アプリのビルド` を選択します。
2. 出力するアプリのパッケージ種別を選択し、`ビルドを開始する` ボタンをクリックします。

   Windowsリリースビルドは、次のビルドパッケージをサポートしています。

| パッケージ    | 説明                       |
| -------- | ------------------------ |
| **NSIS** | NSIS（EXE）インストーラーが生成されます。 |
| **ZIP**  | アプリをZIP形式で出力します。         |

{% hint style="info" %}
Windowsデバッグビルド用のパッケージオプションはありません。デフォルトのパッケージはZIPです。
{% endhint %}

![](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-MgdMBarxw6HCpaTaAN0%2F-Mgdg9QlvXZ5ISlAongF%2Fimage.png?alt=media\&token=4e0ecd1a-421e-4af4-b1d7-536f81ba0e83)

&#x20;   3\. ビルドが完了するまで数分かかる場合があります。ビルドが完了すると、ビルドされたアプリケーションをダウンロードできます。

## ステップ 3: アプリのインストール(ZIP形式)

1. ダウンロードした zip ファイルを解凍します。
2. 実行可能ファイルをダブルクリックします。次の画面のように、アプリケーションを実行する前に確認を求めるダイアログが表示される場合があります。

![](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-MgdMBarxw6HCpaTaAN0%2F-MgdgHI4AqZkmh_q9adv%2Fimage.png?alt=media\&token=c088846a-52ea-44fd-9d32-8045d93c4269)

![](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-MgdMBarxw6HCpaTaAN0%2F-MgdgJ1LrhzK3CdlWKsU%2Fimage.png?alt=media\&token=4fbfa8c6-af67-43a6-8e99-45a55389497e)

## ステップ 3: アプリのインストール(NSIS形式)

1. NSIS(exe)ファイルをダウンロードします。
2. NSISファイルをダブルクリックします。アプリケーションを実行する前に、確認を求めるダイアログが表示される場合があります。次の画面のように、「詳細」をクリックして、「実行」をクリックします。

![](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-MgdMBarxw6HCpaTaAN0%2F-MgdgNFox70Y0Hiiy2VG%2Fimage.png?alt=media\&token=e94a4a42-9c50-4d05-82b5-bc9796d13cb0)

アプリケーションのインストールが始まります。

![](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-MgdMBarxw6HCpaTaAN0%2F-MgdgP3d_5T1TpHNuCVM%2Fimage.png?alt=media\&token=2b7c032a-dca1-4e1a-b734-39479276277a)

## ステップ 4: アプリの署名(ZIP形式)

1. Windowsソフトウェア開発キット（Windows SDK）のダウンロード。

   Microsoftの公式ページからダウンロードしてください。 Windows 10を使用している場合は、 からダウンロードできます。
2. アプリの署名

   `signTool`コマンドを使用して、実行可能ファイル（`exe`）に署名します。`signTool`は、Windows SDKに含まれます。 ファイルに署名するには、 `コマンドプロンプト` を開き、 `signtool sign /f MyCert.pfx /p "MyPassword" "MyApp.exe"`を実行するだけです。\
   `signTool`コマンドの使用方法の詳細については、  [公式ドキュメント](https://docs.microsoft.com/en-us/windows/win32/seccrypto/using-signtool-to-sign-a-file) を参照してください。

![](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-MgdMBarxw6HCpaTaAN0%2F-Mgdgh71UcIOMcoCRRjQ%2Fimage.png?alt=media\&token=9507442d-1faa-4b7c-a448-3714b78fe789)

ファイルが署名されているかを確認するには、次を実行します。`signtool verify /pa /v "MyApp.exe"`.

![](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-MgdMBarxw6HCpaTaAN0%2F-MgdgknkonaXNJ7OR3ot%2Fimage.png?alt=media\&token=ce97748b-7f01-4807-95d2-68d1ceccceb3)

## ステップ 4: アプリの署名(NSIS形式)

### 事前準備

アプリ署名には、次の準備が必要となります。

1. MSIX パッケージツール\
   Microsoftの公式ページからダウンロードしてください。 Windows 10を使用している場合は、[こちら ](https://www.microsoft.com/en-us/p/msix-packaging-tool/9n5lw3jbcxkf)からダウンロードできます。
2. 証明書ファイル(pfx)\
   `MSIX Packaging Tool`を使用して、既存のEXEインストーラーからMSIXアプリケーションパッケージを作成できます。 公式ガイドは [こちら ](https://docs.microsoft.com/ja-jp/windows/msix/packaging-tool/create-app-package-msi-vm)になります。

### 操作手順 (MSIX パッケージツール)

1. `MSIX Packaging Tool` を開き、「Application Package」を選択します。

![](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-MgdMBarxw6HCpaTaAN0%2F-Mgdh99_YraZKxzO_QgC%2Fimage.png?alt=media\&token=d6abdbd2-d636-48b7-8d36-804d03db6500)

&#x20;   2\. ダウンロードしたNSIS（EXE）ファイルと証明書ファイル(pfx)を選択します。

![](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-MgdMBarxw6HCpaTaAN0%2F-MgdhAyaBMe9J21ctESp%2Fimage.png?alt=media\&token=adf9ee85-5eeb-472a-8c50-fcfcc8efd00c)

&#x20;   3\. パッケージを作成する場所を選択します。

![](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-MgdMBarxw6HCpaTaAN0%2F-MgdhD0NXULJQjVIX9HH%2Fimage.png?alt=media\&token=108d1711-d596-4921-ae79-bde9cf54c30c)

&#x20;   4\. パッケージに必要な情報を入力します。

![](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-MgdMBarxw6HCpaTaAN0%2F-MgdhEUrE_4326o17zXX%2Fimage.png?alt=media\&token=18646d78-0c7c-438d-94db-454fcdbc33db)

&#x20;   5\. 次に、パッケージ化するための確認として、 `MSIX Packaging Tool Driver`のインストール状態や各種ツールの有効化または無効化を確認します。

![](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-MgdMBarxw6HCpaTaAN0%2F-MgdhGHVHnoGvpapjH8m%2Fimage.png?alt=media\&token=2d22126e-19db-49d1-a8f7-c5c1dac91b10)

&#x20;   6\. ツールはアプリケーションインストーラーのテストを開始します。

![](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-MgdMBarxw6HCpaTaAN0%2F-MgdhIBt19XlGmHeugWT%2Fimage.png?alt=media\&token=5a2e6965-b1d4-4e34-b47f-8519862e56a1)

&#x20;   7\. 「最初の起動タスク」では、エントリポイントが自動的に入力されます。入力されない場合は、\[参照]ボタンをクリックして、エントリポイントに実行可能ファイルを選択してください。

![](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-MgdMBarxw6HCpaTaAN0%2F-MgdhK06AvG6OLZcEw7T%2Fimage.png?alt=media\&token=5e910435-10c6-41ca-8a36-7ab0471ef3a6)

&#x20;   8\. パッケージを保存したい場所を指定します。

![](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-MgdMBarxw6HCpaTaAN0%2F-MgdhLb523a2K8Z1031T%2Fimage.png?alt=media\&token=add6633a-b0be-42d3-8f74-861db612176a)

&#x20;   9\. パッケージの作成には数分かかる場合があります。

![](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-MgdMBarxw6HCpaTaAN0%2F-MgdhNpob5yKssOpVFrN%2Fimage.png?alt=media\&token=78ec27db-921b-46e7-b960-7a69f14c20ab)

**テスト環境**

* Windows 10 Pro, Version 1803, OS build 17134.885
* Windows Software Development Kit - Windows 10.0.18362.1
