Не появляется окно 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 шт):
Файл, который вы хотите использовать в качестве иконки
- не является файлом формата
ico- онpng. изменение расширения файла не меняет его формат. - ваш файл
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
И у меня собранное приложение запускается.