Электронное автозапуск упакованного приложения запускает окно приветствия - PullRequest
0 голосов
/ 04 сентября 2018

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

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

Сценарий:

  1. Я выполняю npm start для упаковки своего кода. (index.js + package.json)
  2. Я выполняю сгенерированный .exe, который выдаст мое сообщение. (пока все хорошо, правда?)
  3. Я выхожу из окна (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 привело к совершенно неожиданному выводу.

1 Ответ

0 голосов
/ 15 января 2019

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

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

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

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

...