This post is at the suggestion of
@AndrewT , and is primarily meant as feedback for
@Deuterium Oxide
I originally installed the launcher when it first appeared for Linux, and had it working, to no real purpose as most of the PDX games I have were not available. Recently, and after changing graphics card, I installed the launcher again and it failed without enough information to diagnose. During an email discussion with Andrew, I did find the cause, rather by chance, and have some suggestions as a result.
The error I received is after the launcher apparently installs correctly and tries to start ...
Log level: info
[custom config file] Read custom config from 'config.json'
module.js:487
throw err;
^
Error: Cannot find module '../dialog'
at Module._resolveFilename (module.js:485:15)
at Function.Module._resolveFilename (/media/2TB_DD_1/ParadoxLibrary/launcher/launcher/resources/electron.asar/common/reset-search-paths.js:35:12)
at Function.Module._load (module.js:437:25)
at Module.require (module.js:513:17)
at require (internal/module.js:11:18)
at Object.get [as dialog] (/media/2TB_DD_1/ParadoxLibrary/launcher/launcher/resources/electron.asar/browser/api/exports/electron.js:11:16)
at process.<anonymous> (/media/2TB_DD_1/ParadoxLibrary/launcher/launcher/resources/electron.asar/browser/init.js:54:31)
at emitOne (events.js:115:13)
at process.emit (events.js:210:7)
at process._fatalException (bootstrap_node.js:338:26)
The log message indicates the file 'config.json' is being read just before the error, but does not contain the full file path. Normally in Debian-based Linux you can check the package manager to see which files are part of the package. As you don't use the package manager, and without the full file path, it is guesswork.
As you will know, there is a 'config.json' in the install directory, which is the one most people will immediately find. Eventually, and by chance, I found the actual problem was with the file '~/.config/Paradox Interactive/launcher/config.json', which had incorrect ownership and permissions, probably because I ran the launcher ( or perhaps installed it ) at some point with elevated privileges.
So my first suggestion is to consider how better availability of information about the launcher's on-disk image can help us diagnose problems. For example, I still do not know for certain which files have been installed/created, and where they are; full path-names in log messages would also help.
The second issue is in the actual error. The backtrace suggests you are using the Electron javascript framework, and that it cannot find one of its own internal libraries. It seems likely that Electron was trying to show a dialog box that MIGHT have pinpointed the problem file/permissions issue more exactly ( or might not! ).
There are several references to this Electron error online, which mostly seem to agree that while Electron SHOULD be able to find its own libraries, the easiest suggestion to avoid this error is to include the correct 'requires' statement yourself.
Other than this hiccup, the Launcher/Updater is pretty nice; just needs more games using it!