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.