App crashes when using appdmg built with node 14
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1.7k
- Forks
- 158
- PR merge metrics
- No merged PRs in 30d
Description
MacOS High Sierra 10.13.6
NW.js 0.41.3 (node 12.12.0) works OK with appdmg installed with 12.18.0
NW.js 0.48.3 (node 14.11.0) FAILS with appdmg installed with 14.9.0
App crashes in the 'Making all the visuals' step. If the ds.write is skipped then appdmg will successfully create a DMG but with no visuals.
The code that is causing the issue is the ds.setBackgroundPath line - if this is commented out then again a good DMG will be created but with no background visuals.
The other bits of the visuals steps appear OK.
A console.log prior to this line shows the same format whether appdmg is using node 12 or 14 but only fails with 14 install.
appdmg.js L371 ds.setBackgroundPath(path.join(global.temporaryMountPath, global.bkgname))
gives eg: /Volumes/PepperFlash Install 18/.background/dmgback.tiff
Seems like appdmg installed with node 14 doesn't like tiff being written to the ds-store module.
The original image being used for the background was dmgback.png (82k) which obviously gets converted to a tiff.
appdmg.json -
{
"title": "PepperFlash Install",
"background": "Extras/dmg/dmgback.png",
"icon": "Extras/dmg/dmg.icns",
"contents": [
{
"x": 260,
"y": 350,
"type": "link",
"path": "/Applications"
},
{
"x": 90,
"y": 350,
"type": "file",
"path": "application.app"
},
{
"x": 490,
"y": 350,
"type": "file",
"path": "Extras/dmg/readme.txt"
},
{
"x": 512,
"y": 900,
"type": "position",
"path": ".VolumeIcon.icns"
}
]
}
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at appdmg.js line 371, where ds.setBackgroundPath is called during the “Making all the visuals” step, and reproduce the failure with the supplied Node 14 and NW.js versions. Investigate the ds-store background-path handling; done means a DMG is created without crashing and retains its background visuals.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, node.js
- Domain
- build-system, desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100