Пакетное приложение с автоматическим запуском Electron запускает приветственное окно

Я работаю над электронным тестовым приложением для Windows.

Целью является автоматически запускаемое приложение, которое отображает всплывающее сообщение каждый раз, когда пользователь Windows входит в систему.

Сценарий:

  1. Я выполняю npm start, чтобы упаковать свой код. (index.js + package.json)
  2. Я выполняю сгенерированный .exe, в котором появится мое сообщение. (пока все хорошо, правда?)
  3. Я выхожу из Windows (CTRL + L ALT + DEL, если это важно) и снова вхожу в систему, чтобы протестировать приложение.
  4. Всплывающее окно открывается, но также открывается электронная страница приветствия по умолчанию.

package.json

{
    "name": "test",
    "description": "",
    "version": "0.0.1",
    "main": "index.js",

    "scripts": {
        "test": "electron .",
        "start": "electron-packager . Test --platform=win32 --arch=x64 --overwrite"
    },

    "author": "",
    "license": "MIT",

    "build": {
        "appId": "com.test.test",
        "win": {
          "target": "NSIS"
        }
    },

    "dependencies": {
        "auto-launch": "^5.0.5"
    },

    "devDependencies": {
        "electron": "latest",
        "electron-packager": "^12.1.1"
    }
}

index.js

const {app, dialog} = require("electron");
const AutoLaunch = require("auto-launch");

app.on("ready", function(){
  dialog.showMessageBox({ message: "We are ready to take off! :-)", buttons: ["OK"] });

  let autoLaunch = new AutoLaunch({
    name: "test"
    // path: app.getPath("exe")
  }).isEnabled().then((isEnabled) => {
    if (!isEnabled){
            autoLaunch.enable();
            dialog.showMessageBox({ message: "AutoLaunch enabled.", buttons: ["OK"] });
    }
    else dialog.showMessageBox({ message: "AutoLaunch already enabled.", buttons: ["OK"] });
  });

  app.quit();
});

Изменить: обнаружена проблема, препятствующая обновлению package.json. Простой npm info привел к совершенно неожиданному результату.


person Community    schedule 04.09.2018    source источник
comment
Беглый взгляд на этот пакет (автозапуск), вам нужно определить путь, который вы закомментировали .. все, что пакет делает, устанавливает автозапуск в различных системах .. npm start не работает, его нужно собрать   -  person Lawrence Cherone    schedule 04.09.2018
comment
npm-start запускает упаковщик, в результате чего создается полный stnadalone. npmjs.com/package/auto-launch говорит: options.path - String (необязательно для приложений NW.js и Electron)   -  person    schedule 04.09.2018
comment
хорошо, извините, пропустил ваши скрипты .. (обычно запуск не используется, вместо этого используется сборка, тест также является разработчиком, но эй ..), но остальное остается ..   -  person Lawrence Cherone    schedule 04.09.2018
comment
Это необязательно, если оно установлено. Проверьте источник .. github.com/Teamwork/node-auto-launch/blob/master/src/   -  person Lawrence Cherone    schedule 04.09.2018
comment
Если я изменю start на сборку, я получаю сообщение об ошибке в cmd. Сейчас проверю. Я чувствую, что путь необходим и должен быть абсолютным.   -  person    schedule 04.09.2018
comment
Проверьте, есть ли reg ключ установлен и правильное значение.   -  person Lawrence Cherone    schedule 04.09.2018
comment
Проверено и правильно. Я также попробовал github.com/linkRachit/Electron-sample-app, что приводит к та же проблема. Кажется, это ошибка.   -  person    schedule 04.09.2018


Ответы (1)


Вау, совсем забыл об этом вопросе. Решение было следующим:

Обновите все зависимости. Убедитесь, что путь к файлу .html / .js абсолютный и правильный.

Абсолютный путь начинается с / Например /files/index.html

Вот как это работает!

person Community    schedule 15.01.2019