electron - Electron :继续获取 'You'需要一个新应用来打开此屏幕

标签 electron electron-builder

使用Vuejs开发了Electron应用程序,开发过程中一切正常,但是打包后,在启动后一直弹出此窗口(注意:这是示例图片-我没有说“windowsdefender”,但其他方面都一样)。
Sample pop-up after running electron app
使用electron-builder使用以下build json创建应用程序,并将其安装在PC上:

{
  "productName": "My App",
  "appId": "com.mycompany.myapp",
  "win": {
    "icon": "build/icon.png",
    "target": [
      "nsis"
    ]
  }
}
尽管该应用确实打开,但没有初始屏幕。但是,我可以打开开发工具,但不会显示任何错误。
关于什么原因或解决方法的任何想法?

最佳答案

经过多次尝试,我终于弄清楚了(或者至少我想我知道是什么原因引起的)。
主要问题是,在使用vue路由器(通过Web移植的应用程序)时,使用“哈希”模式而不是“历史记录”很重要。将此添加到您的路由器文件:

const router = new VueRouter({
  mode: process.env.IS_ELECTRON ? "hash" : "history",
  routes
});
有关更多详细信息(常见问题),请参见此链接:Vue CLI plugin common issues
其次,我认为存在权限问题(即具有较高的安装权利),因此我将此行以及guid添加到了我的electronic-builder.json文件中。结果是一个这样的构建文件:
{
  "productName": "My App",
  "appId": "com.abcco.my-app",
  "win": {
    "icon": "build/icon.png",
    "target": "nsis",
    "requestedExecutionLevel": "requireAdministrator"
  },
  "nsis": {
    "guid": "6ee647a9-d5c6-46a9-a480-aa7d6d3d1c10",
    "oneClick": false,
    "allowToChangeInstallationDirectory": true
  }
}
由于我仅针对Windows开发,因此我可以使用此页中的资料( react 但与Electron包装没有太大不同):
Electron Build file help
我做的最后一件事是删除所有“dist”文件并完全卸载该应用程序(以前的版本)。我认为这消除了测试遗留的许多“行李”。
希望这可以帮助可能遇到相同问题的其他人。

关于electron - Electron :继续获取 'You'需要一个新应用来打开此屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65156735/

相关文章:

google-analytics - 如何在 Electron 中添加Google Analytics

python - 如何在python中加载Electron + EEL

electron - 在Mac上分发时,Electron应用程序窗口无法获得焦点

javascript - Electron 应用程序移动构建文件夹时出错

Angular 和 Electron - 主进程和渲染进程之间的 IPC 通信

angular - 打包Angular 2 Electron App时,路线不再起作用

node.js - electron-builder NSIS block map 是如何生成的?可以控制吗?

javascript - 从浏览器打开我的 Electron 应用程序时如何获取输入

javascript - electron-builder 与 electron-packager

node.js - Electron Builder 中不存在应用程序入口文件