Electronアプリをwindows10機でデジタルサイネージする際にやった方が良いこと

Electronアプリで展示を行ったので、Electronや展示機に設定しておいた方がよい項目をまとめます。
実行順ではなく、項目別にまとめています。


# 仕様
展示物は一般の方が自由に触るため、操作によりアプリを解除されないようにする必要があります。
また、通知なども表示されないように設定する必要があります。

+ アプリは、フルスクリーン表示し、一般ユーザは画面タッチで操作する
+ キーボードやパソコン本体は展示員のみが操作できる
+ 展示するマシーンはwindows10 Pro

**展示機は、windows10 Proを使用する。Windows10 Homeでは設定出来ない項目がある**

ここでは、windows 10 Pro 1903について記載する。
バージョンが変わると、項目名や設定の場所が変わるかもしれません。

# Electronアプリの設定

## 設定しておくべきこと

### Electronのキオスクモードやフルスクリーンを設定する

以下の記事を参考にElectronを設定する

+ フルスクリーン化
+ フレームレス
+ kioskモード
+ 画面の拡大縮小を禁止する

https://qiita.com/kgsi/items/075775de7ed574481242

### 文字などをユーザが選択出来ないようにする

Electronは表示がブラウザなので、文字を長押しされると選択できてしまい、ダサイ。
CSSでbodyに、長押しで選択できなく設定を入れる。

```css:文字を長押しで選択できない(css)
body{
    user-select: none;
}
```

## 必要に応じて設定する

### スクロールバーを表示しない

自分の環境でスクロールバーが表示されてしまったため、設定しました。

```css:スクロールバーを表示しない(css)
::-webkit-scrollbar {
    display: none;
}
```

# windowsの設定

## 設定しておくべきこと

### windows updateの自動実行を一時停止する

windows updateが実行されると、再起動が実行されてしまうので展示中は停止する。

```
1.設定 -> 更新とセキュリティ -> 詳細オプション
2.更新の一時停止 で最大35日間停止できる
```

![コメント 2019-10-11 154217.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90529/568aa90e-8a35-b916-1f8e-335170f8b499.jpeg)

### スリープを切る

一定時間操作がなくても、ディスプレイを無効化やスリープしないように設定する。
合わせて、スクリーンセーバーも無効化する。

```:スリープの無効化
1.コントロールパネル -> 電源オプション -> プラン設定の変更
2. 「スリープ」と「ディスプレイ電源を切る」項目を「適用しない」に設定
```

![コメント 2019-10-11 163750.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90529/c16c130e-042b-e639-0a57-13612e0f5c3f.jpeg)


```:スクリーンセーバーの無効化
1.スタートメニューから、「スクリーンセーバー」を検索する
2.スクリーンセーバーで、「なし」を設定
```

### タッチ操作でアプリを切り替える機能を無効化

#### 正攻法：windowsの設定で無効にする

windows10はタッチ画面の右・左端から画面内へのスワイプで、アプリの切り替えや通知バー表示が行える。
展示で表示されないように、無効にする。
**windows10 pro以上が必要**

```
1.ローカルグループポリシーを起動する
1.1 コントロールパネルから開くか、"スタートメニュー"で`gpedit.msc`を検索する

2.ローカルグループポリシーで"エッジスワイプを許可する"の項目を開く
(左ペインの)コンピューターの構成 -> 管理用テンプレート -> Windowsコンポーネント -> 画面端のUI

3."エッジスワイプを許可する"を `無効` に設定する(デフォルトは、"未構成"?)
```

![コメント 2019-10-11 152905.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90529/5c28098d-e5aa-de7e-62ca-79b623bb1804.jpeg)

#### サードパーティソフトで無効化する

[Skip Metro Suite](https://winaero.com/comment.php?comment.news.103)
全てのチェックボックスにチェックして「Save Setting」します。
再起動(シャットダウンではない)で起動して、しばらくするとスワイプ操作が無効になる。


### 通知を切る

画面右下に出る通知(トースト)を表示しないように、通知を無効化する。

```
1. 設定 -> システム -> 通知とアクション
2. 「アプリやその他の送信者からの通知を取得する」をオフにする
3. windowsからのおすすめのチェックボックスも外す
```

![コメント 2019-10-15 182237.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90529/061c16b2-ed12-97ab-4741-a345cd47b335.jpeg)



## 必要に応じて行うこと

### 事前にwindows updateを実行

開発機とバージョンを予め合わせておく。
セキュリティを高めておくに越したことはないし、ウイルス対策ソフトも最新になる。
windows updateを複数実行しないと最新にならないことがある。


### 通信を切る

必要な通信のみを行う。
必要なければ`機内モード` に設定して通信を全て切断する。

```
設定 -> ネットワークとインターネット -> 機内モード
```

![コメント 2019-10-11 155014.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90529/35a3164a-284c-feb1-9a6d-64c6fdbe7754.jpeg)

### 専用のユーザを発行する
専用のアカウントを作成し、案件が完了したらアカウントごと削除する。

```
設定 -> アカウント -> 家族とその他のユーザ
「他のユーザを追加」から、アカウントを追加できる
```

単発の案件なのでマイクロソフトに紐付かない、ローカルアカウントを作成する。
案件が終わったらアカウント事、削除！

### アプリをサインイン時に起動する

スタートアップフォルダに置くことでサインイン時に起動するようになります。
https://pc-karuma.net/windows-10-app-startup/

### バッテリー運用するとき

バッテリー切れ表示のポップが出たときに、タスクバーが見えてしまわないように設定をする。

```
設定 -> 個人用設定 -> タスクバー -> (デスクトップ or タブレット　モードで)タスクバーを自動で隠す
```


# 番外編:UWPアプリには、「キオスクモード」がある

単一のUWP（ユニバーサルWindowsプラットフォーム）アプリを割り当て、ユーザーがサインイン中、そのアプリだけを利用できるようにする機能があるみたいです。(未検証)

https://www.atmarkit.co.jp/ait/articles/1812/20/news018.html


以上です。