Не появляется окно electron после сборки, если для него указан icon

При создании экземпляра BrowserWindow, если я указываю свойство icon, после сборки проекта не запускается .exe, если я убираю свойство - все запускается.

В чем может быть проблема?

[UPD]

function createWindow()
{
    mainWindows = new BrowserWindow(
    {
        height: 150,
        width: 300,
        resizable: 0,
        show: 0,
        autoHideMenuBar: 1,
        webPreferences:
        {
            nodeIntegration: true,
            enableRemoteModule: true
        },
        icon: './icon.ico',
        title: 'Parser by CZAR',
    });
}

Файл icon.ico

[UPD]

Репозиторий моего приложения: https://bitbucket.org/Oliver_Patterson/parser/src/master/


Ответы (1 шт):

Автор решения: nörbörnën

Файл, который вы хотите использовать в качестве иконки

  1. не является файлом формата ico - он png. изменение расширения файла не меняет его формат.
  2. ваш файл icon.ico, который, как мы выяснили, формата png, содержит в себе ошибки, которые влияют на работу с ним. Electron падает именно из-за этих ошибок.

Чтобы ваше приложение запускалось, нужно исправить ошибки и расширение вашего файла.

Вот - файл без ошибок. Скачайте. Переименуйте в icon.png. И вставьте в код:

new BrowserWindow({
  ...
  icon: './icon.png',
  ...
})

UPD1

С этой иконкой тоже не запускается.

Так как автор вопрос не указал какие ошибки он видит в консоли, будем бить по площадям.

Загружаете новый файл картинки. Эта версия отличается от предыдущей размером (512x512) и может быть использована как иконка приложения, а не окна приложения, как в вопросе.

После того как файл загружен, переименовываем его в icon.png.

В текущем коде app.js делаем такие изменения:

const { app, BrowserWindow, ipcMain: ipc } = require('electron');
...
const path = require('path');

function createWindow()
{
    const iconPath = path.join(
        app.isPackaged ? app.getAppPath() : process.cwd(),
        'icon.png'
    );

    mainWindows = new BrowserWindow({
        ...
        icon: iconPath,
        ...
    });
}

Запускаем сборку

$ yarn compil

И у меня собранное приложение запускается.

→ Ссылка