我的便携式电子应用程序每次打开时都会在不同的文件夹中提取

时间:2018-05-20 16:21:41

标签: javascript socket.io electron firewall electron-builder

  • 电子商家版:20.9.2
  • 目标:windows / portable

我正在使用electron-builder构建便携式应用,并使用socket.io与后端服务保持实时连接,但我遇到了防火墙问题。因为每次打开应用程序时这都是一个便携式应用程序,它看起来是在临时文件夹中提取的,它会在每次运行中生成一个新文件夹(因此应用程序的路径会有所不同)。这将使防火墙认为这是另一个要求连接权限的应用程序。如何在运行应用程序时更改提取路径?

(这是我每次运行应用程序时都会看到的屏幕) image

这是我的socket.io配置

const io = require("socket.io")(6524);

io.on("connect", socket => {
    socket.on("notification", data => {
       EventBus.$emit("notifications", JSON.parse(data));
   });
});

package.json

中的我的构建设置
"build": {
    "productName": "xxx",
    "appId": "xxx.xxx.xxx",
    "directories": {
        "output": "build"
    },
    "files": [
        "dist/electron/**/*",
        "!**/node_modules/*/{CHANGELOG.md,README.md,README,readme.md,readme,test,__tests__,tests,powered-test,example,examples,*.d.ts}",
        "!**/node_modules/.bin",
        "!**/*.{o,hprof,orig,pyc,pyo,rbc}",
        "!**/._*",
        "!**/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,__pycache__,thumbs.db,.gitignore,.gitattributes,.editorconfig,.flowconfig,.yarn-metadata.json,.idea,appveyor.yml,.travis.yml,circle.yml,npm-debug.log,.nyc_output,yarn.lock,.yarn-integrity}",
        "!**/node_modules/search-index/si${/*}"
    ],
    "win": {
        "icon": "build/icons/myicon.ico",
        "target": "portable"
    }
},

有关至少我如何指定提取路径或将其提取为执行文件夹的任何想法?

BTW我已经在电子制造商回购中创建了issue

1 个答案:

答案 0 :(得分:0)

感谢Aleksandar Grbic,他们在#3799处添加了用于指定解压缩目录名称的功能。