mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-05 02:59:14 +08:00
62 lines
4.0 KiB
Plaintext
62 lines
4.0 KiB
Plaintext
# Windows
|
|
|
|
このページでは、Windows向けのWailsアプリケーション開発に関する、様々なガイドを掲載しています。
|
|
|
|
## WebView2ランタイム依存関係のハンドリング
|
|
|
|
Windows用にビルドされたWailsアプリケーションは、Microsoft [WebView2ランタイム](https://developer.microsoft.com/en-us/microsoft-edge/webview2/)がランタイム要件となっています。 Windows 11ではデフォルトでこのランタイムがインストールされていますが、一部のマシンではインストールされていません。 Wailsでは、この依存関係に対処するための簡単なアプローチを提供しています。
|
|
|
|
ビルド時に`-webview2`フラグを使用することで、アプリ起動時に適切なランタイムが検出されない場合(インストールされているランタイムが古すぎる場合を含む) に、アプリケーションがどのように動作するかを指定できます。 次の4つのオプションがあります:
|
|
|
|
1. Download
|
|
2. Embed
|
|
3. Browser
|
|
4. Error
|
|
|
|
### Download
|
|
|
|
このオプションでは、適切なランタイムが見つからない旨をユーザに知らせ、MicrosoftのWebView2のサイトからダウンロードされる公式のブートストラッパを実行する提案をします。 ユーザが続行を選択した場合、公式のブートストラッパがダウンロードおよび実行されます。
|
|
|
|
### Embed
|
|
|
|
このオプションでは、アプリケーション内に公式のブートストラッパの埋め込みます。 適切なランタイムが見つからない場合、アプリケーションはブートストラッパの実行を提案します。 これにより、バイナリサイズが150k程度増えます。
|
|
|
|
### Browser
|
|
|
|
このオプションでは、適切なランタイムが見つからない旨をユーザに知らせ、ブートストラッパをダウンロードしてインストールすることのできるWebView2の公式ページをブラウザで開く提案をします。 続行した場合、アプリケーションは終了し、インストールをユーザに委ねます。
|
|
|
|
### Error
|
|
|
|
このオプションでは、適切なランタイムが見つからない場合、ユーザにエラーが表示され、それ以上何の処理も実行しません。
|
|
|
|
## フィックスドバージョンランタイム
|
|
|
|
WebView2の依存関係に対処するための別手段として、自身でランタイムを運ぶという方法が挙げられます。 [フィックスドバージョンランタイム](https://developer.microsoft.com/microsoft-edge/webview2/#download-section)をダウンロードしてバンドルするか、アプリケーション内でランタイムをダウンロードするようにします。
|
|
|
|
また、Wailsの起動時に`windows.Options`において、フィックスドバージョンWebView2ランタイムのパスを指定する必要があります。
|
|
|
|
```go
|
|
wails.Run(&options.App{
|
|
Windows: &windows.Options{
|
|
WebviewBrowserPath: "",
|
|
},
|
|
})
|
|
```
|
|
|
|
注意: `WebviewBrowserPath`が指定されている場合、必要な最低バージョンを満たしていなかったり、ランタイムへのパスが無効であったりすると、強制的に`error`オプションの挙動となります。
|
|
|
|
## 他のプログラムの起動
|
|
|
|
スクリプトなどの他のプログラムを起動すると、当該プログラムのウィンドウが画面に表示されます。 このウィンドウを表示させたくない場合は、次のコードを使用してください:
|
|
|
|
```go
|
|
cmd := exec.Command("your_script.exe")
|
|
cmd.SysProcAttr = &syscall.SysProcAttr{
|
|
HideWindow: true,
|
|
CreationFlags: 0x08000000,
|
|
}
|
|
cmd.Start()
|
|
```
|
|
|
|
この解決策は、[ディスカッションボード](https://github.com/wailsapp/wails/discussions/1734#discussioncomment-3386172)内で[sithembiso](https://github.com/sithembiso)により示されました。
|