Issue with Electron Application Build on Windows using electron-builder

111 Views Asked by At

Im trying to build my app but i getting errors

I am facing difficulties in trying to build my Electron application on Windows using electron-builder. The build process fails with an error related to code signing the application for Windows.

PS C:\Users\PC\Documents\nodejs\StarLink> electron-builder
  • electron-builder  version=24.9.1 os=10.0.19045
  • loaded configuration  file=package.json ("build" field)
  • author is missed in the package.json  appPackageFile=C:\Users\PC\Documents\nodejs\StarLink\package.json
  • writing effective config  file=dist\builder-effective-config.yaml
  • packaging       platform=win32 arch=x64 electron=28.1.3 appOutDir=dist\win-unpacked
  ⨯ Cannot use 'in' operator to search for 'file' in undefined  failedTask=build stackTrace=TypeError: Cannot use 'in' operator to search for 'file' in undefined
    at doSign (C:\Users\PC\AppData\Roaming\npm\node_modules\electron-builder\node_modules\app-builder-lib\src\codeSign\windowsCodeSign.ts:154:70)
    at sign (C:\Users\PC\AppData\Roaming\npm\node_modules\electron-builder\node_modules\app-builder-lib\src\codeSign\windowsCodeSign.ts:60:7)
    at WinPackager.sign (C:\Users\PC\AppData\Roaming\npm\node_modules\electron-builder\node_modules\app-builder-lib\src\winPackager.ts:213:20)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at WinPackager.signAndEditResources (C:\Users\PC\AppData\Roaming\npm\node_modules\electron-builder\node_modules\app-builder-lib\src\winPackager.ts:348:5)
From previous event:
    at processImmediate (node:internal/timers:478:21)
From previous event:
    at WinPackager.signApp (C:\Users\PC\AppData\Roaming\npm\node_modules\electron-builder\node_modules\app-builder-lib\src\winPackager.ts:384:27)
    at WinPackager.doSignAfterPack (C:\Users\PC\AppData\Roaming\npm\node_modules\electron-builder\node_modules\app-builder-lib\src\platformPackager.ts:332:32)
    at WinPackager.doPack (C:\Users\PC\AppData\Roaming\npm\node_modules\electron-builder\node_modules\app-builder-lib\src\platformPackager.ts:317:7)
    at WinPackager.pack (C:\Users\PC\AppData\Roaming\npm\node_modules\electron-builder\node_modules\app-builder-lib\src\platformPackager.ts:136:5)
    at Packager.doBuild (C:\Users\PC\AppData\Roaming\npm\node_modules\electron-builder\node_modules\app-builder-lib\src\packager.ts:442:9)
    at executeFinally (C:\Users\PC\AppData\Roaming\npm\node_modules\electron-builder\node_modules\builder-util\src\promise.ts:12:14)
    at Packager._build (C:\Users\PC\AppData\Roaming\npm\node_modules\electron-builder\node_modules\app-builder-lib\src\packager.ts:376:31)
    at Packager.build (C:\Users\PC\AppData\Roaming\npm\node_modules\electron-builder\node_modules\app-builder-lib\src\packager.ts:337:12)
    at executeFinally (C:\Users\PC\AppData\Roaming\npm\node_modules\electron-builder\node_modules\builder-util\src\promise.ts:12:14)

this is my package.json

{
  "name": "starlink-app",
  "version": "1.0.0",
  "description": "Starlink App",
  "main": "index.js",
  "scripts": {
    "start": "node index.js",
    "electron": "electron .",
    "prebuild": "npm install electron-builder@latest -D",
    "build": "electron-builder --win --x64 -c.verbose=true"
  },
  "license": "MIT",
  "dependencies": {
    "cors": "^2.8.5",
    "dotenv": "^10.0.0",
    "express": "^4.17.1",
    "puppeteer": "^21.7.0",
    "puppeteer-extra": "^3.3.6",
    "puppeteer-extra-plugin-stealth": "^2.11.2",
    "semver": "^7.5.1",
    "simple-update-notifier": "^2.0.0"
  },
  "devDependencies": {
    "electron": "^28.1.2",
    "electron-builder": "^24.9.1",
    "eslint": "^7.32.0",
    "eslint-config-airbnb-base": "^14.2.1",
    "eslint-plugin-import": "^2.25.3",
    "husky": "^7.0.1",
    "lint-staged": "^11.0.0",
    "nodemon": "^3.0.2",
    "prettier": "^2.4.1"
  },
  "build": {
    "appId": "com.moglin.starlink-app",
    "files": [
      "public/**/*",
      "index.js",
      "node_modules/**/*",
      "!node_modules/simple-update-notifier/**",
      "!node_modules/nodemon/node_modules/simple-update-notifier/**"
    ],
    "directories": {
      "output": "dist"
    },
    "mac": {
      "target": "dmg"
    },
    "win": {
      "target": "nsis",
      "icon": "icon.ico",
      "sign": false
    }
  }
}

Request for Help:

I would appreciate any further guidance or suggestions to resolve this issue and successfully complete the build of my Electron application on Windows.

Thank you for your assistance!

Steps Taken So Far:

So far, I have tried several solutions, including:

Updating electron-builder to the latest version using the command:

npm install electron-builder@latest -D

Completely disabling code signing by setting sign to false in the win configuration in my package.json file:

"win": {
  "target": "nsis",
  "icon": "icon.ico",
  "sign": false
}

Specific Error:

The specific error I am currently facing is:

Cannot use 'in' operator to search for 'file' in undefined

This error seems to be related to the code signing process for the Windows application.

0

There are 0 best solutions below