-1

I can't open my electron app that I packaged , it created the folder release builds but I am not able to open the exe file it created. I suspect the problem is in package.json . if I do npm start the app is launching and working . I kind of fiddled with package.json installing modules like electron-build I think I must have done something wrong that time . I think the issue is just a typo but I can't find the typo . This is the error

mysecondelectron-proj@1.0.0 package-win electron-packager . electron-tutorial-app --overwrite --asar=true --platform=win32 --arch=ia32 --icon=assets/icons/win/icon.ico --prune=true --out=release-builds --version-string.CompanyName=CE --version-string.FileDescription=CE --version-string.ProductName="Notes"

WARNING: --asar does not take any arguments, it only has sub-properties (see --help) Packaging app for platform win32 ia32 using electron v18.2.3 WARNING: Found 'electron' but not as a devDependency, pruning anyway Wrote new app to release-builds\electron-tutorial-app-win32-ia32 . This file is package.json

{
  "name": "mysecondelectron-proj",
  "version": "1.0.0",
  "description": "My note taking App",
  "main": "main.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "electron .",
    "package-mac": "electron-packager . --overwrite --platform=darwin --arch=x64 --icon=assets/icons/mac/icon.icns --prune=true --out=release-builds",
    "package-win": "electron-packager . electron-tutorial-app --overwrite --asar=true --platform=win32 --arch=ia32 --icon=assets/icons/win/icon.ico --prune=true --out=release-builds --version-string.CompanyName=CE --version-string.FileDescription=CE --version-string.ProductName=\"Notes\"",
    "package-linux": "electron-packager . --overwrite --platform=linux --arch=x64 --icon=assets/icons/png/icon.png --prune=true --out=release-builds"
  },
  "author": "Keegan Albert",
  "license": "MIT",
  "dependencies": {
    "electron": "^18.2.3"
  }
}

main.js

const electron = require("electron");
const url = require("url");
const path = require("path");


const {app , BrowserWindow , Menu , ipcMain} = electron;

let mainWindow;
let addWindow;

app.on('ready' , function(){
    mainWindow = new BrowserWindow({
      webPreferences: {
        nodeIntegration: true,
        contextIsolation: false,
      }
    });
    mainWindow.loadURL(url.format({
        pathname: path.join(__dirname , 'mainWindow.html'),
        protocol: 'file:',
        slashes: true 
    }))
    mainWindow.on('closed' , function(){
        app.quit();
    })
})



function createAddWindow(){
    addWindow = new BrowserWindow({
      width: 300,
      height:200,
      title:'Add Shopping List Item',
      webPreferences: {
        nodeIntegration: true,
        contextIsolation: false,
      }
    });
    addWindow.loadURL(url.format({
      pathname: path.join(__dirname, 'addNoteWindow.html'),
      protocol: 'file:',
      slashes:true
    }));
    // Handle garbage collection
    addWindow.on('close', function(){
      addWindow = null;
    });
  }



const mainMenuTemplate =  [{
    label: 'File',
    submenu: [
        {
        label: 'Quit',
        accelerator: process.platform == 'darwin' ? 'Command+Q' : 'Ctrl+Q',
        click(){
            app.quit();
        }
        },
        {
            label: 'Add Note',
            accelerator: process.platform == 'darwin' ? 'Command+N' : 'Ctrl+N',
            click(){
                createAddWindow();
            }
        },
        {
          label:'Clear Items',
          accelerator: process.platform == 'darwin' ? 'Command+D' : 'Ctrl+D',
          click(){
            mainWindow.webContents.send('item:clear');
          }
        }
        ]
}]


webPreferences: {
    devTools: false
 }

 if(process.env.NODE_ENV !== 'production'){
  mainMenuTemplate.push({
    label: 'Developer Tools',
    submenu:[
      {
        role: 'reload'
      },
      {
        label: 'Toggle DevTools',
        accelerator:process.platform == 'darwin' ? 'Command+I' : 'Ctrl+I',
        click(item, focusedWindow){
          focusedWindow.toggleDevTools();
        }
      }
      
     
    ]
  });
}


const mainMenu = Menu.buildFromTemplate(mainMenuTemplate);
Menu.setApplicationMenu(mainMenu);

ipcMain.on('item:add' , function(e , item){
  mainWindow.webContents.send('item:add' , item);
  addWindow.close();
});
  • 1
    Add some debugging details: [Debugging on Windows](https://www.electronjs.org/docs/latest/development/debug-instructions-windows/) Do you see error messages when you start the app from a terminal? – jabaa May 14 '22 at 13:20

2 Answers2

0

The electron package should be listed as a devDependency not as a dependency and I presume that is why it is pruned when you build it. Try this package.json:

{
  "name": "mysecondelectron-proj",
  "version": "1.0.0",
  "description": "My note taking App",
  "main": "main.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "electron .",
    "package-mac": "electron-packager . --overwrite --platform=darwin --arch=x64 --icon=assets/icons/mac/icon.icns --prune=true --out=release-builds",
    "package-win": "electron-packager . electron-tutorial-app --overwrite --asar --platform=win32 --arch=ia32 --icon=assets/icons/win/icon.ico --prune=true --out=release-builds --version-string.CompanyName=CE --version-string.FileDescription=CE --version-string.ProductName=\"Notes\"",
    "package-linux": "electron-packager . --overwrite --platform=linux --arch=x64 --icon=assets/icons/png/icon.png --prune=true --out=release-builds"
  },
  "author": "Keegan Albert",
  "license": "MIT",
  "devDependencies": {
    "electron": "^18.2.3",
    "electron-packager": "^15.5.1"
  }
}
cascading-jox
  • 982
  • 1
  • 7
  • 21
0

change --asar=true to --asar

"package-win": "electron-packager . electron-tutorial-app --overwrite --asar=true --platform=win32 --arch=ia32 --icon=assets/icons/win/icon.ico --prune=true --out=release-builds --version-string.CompanyName=CE --version-string.FileDescription=CE --version-string.ProductName="Notes"",

to

"package-win": "electron-packager . electron-tutorial-app --overwrite --asar --platform=win32 --arch=ia32 --icon=assets/icons/win/icon.ico --prune=true --out=release-builds --version-string.CompanyName=CE --version-string.FileDescription=CE --version-string.ProductName="Notes"",

  • 1
    Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community Oct 16 '22 at 21:01