みかづきブログ・カスタム

基本的にはちょちょいのほいです。

electron-packagerでWindowsアプリを書き出すときにアイコンを指定する 🖼

かつて、electron-packageでMacアプリを書き出す際の調査結果をまとめました。

blog.kimizuka.org

今回は、Windowsアプリバージョンです。

試したこと

まずは、単純に、

electron-packager . 'アプリ名' --icon=icon.png --platform=win32 --arch=x64

と、pngファイルを指定したところ、

WARNING: Could not find icon "appicon.ico", not updating app icon

という、WARNINGが出ました。
pngを指定したのにicoを探しに行くのが若干謎ですが、確かにWindowsのアイコンといえばicoファイルなので、icoファイルを用意して、

electron-packager . 'アプリ名' --icon=icon.ico --platform=win32 --arch=x64

を実行してみました。
すると、

Reserved header is not 0 or image type is not icon for 'appicon.ico'
Fatal error: Unable to set icon

というエラーが出ました。
エラーを調べてみると、electron-builderのIssueに似たような事例が。

github.com

解決策を探すと、pngからicoに変換する際に このサイト を使うと良いとの回答が。

redketchup.io

試してみたら、エラーが消え無事にアイコンを設定できました。

いままで、pngファイルをicoファイルに変換する際は、MicrosoftペイントでpngファイルをBMPファイルとして保存して、拡張子をicoに変更していたのですが、今回はそれだとうまくいきませんでした。
ただ、Microsoftペイント製のicoファイルはfaviconとしてしか使ってこなかったので、もしかするとブラウザがいい感じに処理してくれていただけなのかもしれないです。

まとめ

このサイト などでpngをicoに変換する
❷ electron-packager . 'アプリ名' --icon=icon.ico --platform=win32 --arch=x64 でアプリを書き出す

で、Windowsアプリにアイコンを設定することができました。