12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- 'use strict'
- const { app } = require('electron')
- const cp = require('child_process')
- const os = require('os')
- const path = require('path')
- const getTempDirectory = function () {
- try {
- return app.getPath('temp')
- } catch (error) {
- return os.tmpdir()
- }
- }
- exports.crashReporterInit = function (options) {
- const productName = options.productName || app.getName()
- const crashesDirectory = path.join(getTempDirectory(), `${productName} Crashes`)
- let crashServicePid
- if (process.platform === 'win32') {
- const env = {
- ELECTRON_INTERNAL_CRASH_SERVICE: 1
- }
- const args = [
- '--reporter-url=' + options.submitURL,
- '--application-name=' + productName,
- '--crashes-directory=' + crashesDirectory,
- '--v=1'
- ]
- const crashServiceProcess = cp.spawn(process.helperExecPath, args, {
- env,
- detached: true
- })
- crashServicePid = crashServiceProcess.pid
- }
- return {
- productName,
- crashesDirectory,
- crashServicePid,
- appVersion: app.getVersion()
- }
- }
|