Как получить оригинальный путь портативного приложения Electron?

У меня есть портативное приложение Electron (упакованное с: electron-builder + asar, portable build) на Windows. Я пытаюсь получить путь приложения, но он возвращает путь в папке usertemp, а не фактический".EXE-файл'

есть ли способ получить оригинальное приложение.exe пути?

Я пробовал следующие:

  • app.getAppPath ()
  • __dirname
  • требуют.главный.именем
  • app-root-path
  • и несколько узловых модулей

путь, который я получаю от своих тестов:

C:UsersxxxAppDataLocalTempxxxxxx.tmpapp

фактические .exe-Путь (откуда запущено приложение и что мне нужно):

C:UsersXXXDocumentstestdist

Я только начинаю с Electron.

2 ответов


из основного процесса:

// If not already defined...
const { app } = require ('electron');
const path = require ('path');

let execPath;

execPath = path.dirname (app.getPath ('exe'));
// or
execPath = path.dirname (process.execPath);

из процесса рендеринга:

// If not already defined...
const { remote } = require ('electron');
const path = require ('path');

let execPath;

execPath = path.dirname (remote.app.getPath ('exe'));
// or
execPath = path.dirname (remote.process.execPath);

Я нашел решение: Используйте переменную окружения (созданную Electron-Builder)

process.env.PORTABLE_EXECUTABLE_DIR

чтобы показать реальный путь приложения.исполняемый. Работает только упакованный с Electron-Builder