标签: electron-builder

如何在电子应用程序中使用 Google 的 reCAPTCHA?

Google 的 reCAPTCHA 是特定于域的,因此在 Github 的电子应用程序中使用时,会出现以下错误ERROR for site owner: Invalid domain for site key

可能是因为在电子应用程序中,文件是通过file:///协议加载的,因此在加载验证码时不会发送引用标头。我正在用来electron ./运行该应用程序。

有没有在电子应用程序中加载 reCAPTCHA 的解决方案?

recaptcha electron electron-builder

9
推荐指数
1
解决办法
2755
查看次数

在 Electron js 中删除 Mac 上卸载时的应用程序数据

我创建了一个electron app并使用electron-builder在应用程序卸载时构建它,我需要删除 localStorage、访问令牌类型等的数据。

在Windows中有nsis - deleteAppDataOnUninstall: false,它解决了我的问题,但我找不到Mac的任何解决方案

javascript reactjs electron electron-builder

9
推荐指数
1
解决办法
1140
查看次数

电子电子winstaller设置Msi的安装路径

我正在使用Electron和Angular2为Windows创建桌面应用程序,并且可以成功生成.exe和.msi文件以进行安装.我使用电子打包器打包我的电子应用程序 打包电子应用程序

打包应用程序后,我使用电子winstaller从包中生成一个msi

当我运行.msi文件时,它会自动将我的项目安装到C:\ Users\Username\AppData\Local\ApplicationName.双击msi时唯一的就是这个简短的对话框: 对话框

我想要的是,安装程序会提示我应该安装应用程序的位置.我希望能够在安装时设置安装路径.

我还要提一下,我尝试使用电子构建器,也可以生成msi文件.但在这里我也无法设置安装路径.我发现这个Electron使用电子生成器问题创建MSI安装程序,其他人与电子建设者有同样的问题,但他的问题没有答案.

这是我对electronic-winstaller的配置.winstaller.js文件位于我项目的根目录:

var electronInstaller = require('electron-winstaller');
var resultPromise = electronInstaller.createWindowsInstaller(
  {
    appDirectory: '../installer/sda-win32-x64',
    outputDirectory: '../installer',
    authors: 'SORA Desktop Application',
    exe: 'sda.exe',
    setupExe: 'SDASetup.exe',
    setupMsi: 'SDASetup.msi',
    iconUrl: 'file:///d/dev/sda/client/src/app/assets/images/icon.ico',
    setupIcon: 'src/app/assets/images/icon.ico'
  });

resultPromise.then(() => console.log('It worked!'), e => console.log(`No dice: ${e.message}`));
Run Code Online (Sandbox Code Playgroud)

这是我的package.json配置.这也是我项目的根源

{
  "name": "sda",
  "description": "SDA 3.0",
  "version": "0.0.1",
  "main": "gulpfile.js",
  "keywords": [
    "Angular",
    "Angular2",
    "Electron",
    "Typescript"
  ],
  "author": "Vic",
  "license": "MIT",
  "scripts": {
    "build": "gulp build",
    "start": "npm run …
Run Code Online (Sandbox Code Playgroud)

windows-installer electron electron-builder

8
推荐指数
1
解决办法
2251
查看次数

如何在 Electron 应用程序中捆绑 ffmpeg

我正在从electron-webpack样板文件开始构建一个电子应用程序。

我发现这个节点模块@ffmpeg-installer/ffmpeg将兼容的预编译二进制文件安装到/node_modules目录中,然后使该可执行文件的路径可通过访问。

const ffmpegPath = require('@ffmpeg-installer/ffmpeg').path
Run Code Online (Sandbox Code Playgroud)

这在开发过程中工作得很好,但是当我构建可分发文件并运行它时,在尝试使用该路径生成子进程时出现错误。大概是因为路径不指向二进制文件。

运行可分发文件时,路径设置为以下内容。

/Users/me/project/dist/mac/AppName.app/Contents/Resources/app.asar/node_modules/@ffmpeg-installer/darwin-x64/ffmpeg
Run Code Online (Sandbox Code Playgroud)

但是,当查看AppName.app包内容时,我在以下路径中找到了二进制文件。

/Users/me/project/dist/mac/AppName.app/Contents/Resources/app.asar.unpacked/node_modules/@ffmpeg-installer/darwin-x64/ffmpeg
Run Code Online (Sandbox Code Playgroud)

electron-webpack我应该如何使用和在 Electron 应用程序中包含二进制依赖项electron-builder

ffmpeg node.js webpack electron electron-builder

8
推荐指数
2
解决办法
7836
查看次数

如何测试电子生成器自动更新流程?

我构建了一个Electron应用程序,现在我正在研究如何分发它.我和电子制造商一起去处理包装等.

对于一些上下文,作为Web开发人员,我习惯于在Web服务器上不断部署Web应用程序,但我很难弄清楚如何在Electron中分发打包的应用程序.

电子建设者文档中,有一个关于测试自动更新的简短提及:

"请注意,为了在不打包应用程序的情况下开发/测试更新的UI/UX,您需要在项目的根目录中创建名为dev-app-update.yml的文件,该文件与电子构建器配置中的发布设置相匹配(但是以YAML格式)"

但是,它相当含糊......

所以我实际上有两个问题:

1.我如何实际测试自动更新流程?

我是否需要实际发布新版本以在本地触发更新?似乎很不清楚,这就像开发生产服务器一样.

2.是否可以对未签名的代码进行回退?

我还没有任何代码签名证书.因此OS/app将阻止自动更新.但是,我仍然想告诉用户更新可用,以便他们可以手动下载应用程序.我能这样做吗?(回到第1点,我希望能够测试这个流程)

testing auto-update electron electron-builder

8
推荐指数
1
解决办法
926
查看次数

Electron-builder - 如何在安装应用程序之后/之前运行脚本

我有一个用 Electron 编写的应用程序,它使用电子生成器。我想为 Linux(Ubuntu 和其他人)和 Mac 打包应用程序。但是在安装应用程序时,我还需要运行用于安装某些第三方软件的脚本。

对于 Windows (nsis) 我知道有一个配置:"include": "installer.nsh".

我可以使用 Linux/Mac 类似的东西来做到这一点吗?提前致谢 !

linux macos electron electron-builder

8
推荐指数
1
解决办法
2673
查看次数

在电子构建器构建过程中 buildResources 文件夹的目的是什么?

我正在阅读文档electronelectron-builder文档,但我仍然不太明白该buildResources文件夹的用途是什么?

这是电子制造商的配置文档所说的:

buildResources= build String - 构建资源的路径。

有点不言自明......但是他们如何或何时参与构建过程,尤其是:

...构建资源未打包到应用程序中。如果您需要使用某些文件,例如作为托盘图标,请明确包含所需文件

我们可以简单地将这些图标文件放在任意文件夹中,然后app/手动复制到其中(因为buildResources无论如何我们都需要手动包含)?

electron electron-builder

8
推荐指数
2
解决办法
4454
查看次数

错误 ITMS-90283:无效的配置文件。捆绑包中包含的配置文件无效 [缺少代码签名证书]

版本

  • 电子:5.0.1
  • 电子制造商:21.2.0
  • 电子公证:0.1.1
  • 电子网络包:2.7.4
  • 正在开发:MacOS Catalina 10.15

dmg文件运行良好。但是当我尝试通过 Transporter 进行验证时,出现以下错误。

错误

错误

构建配置

"build": {
    "appId": "<APP_ID>",
    "productName": "<PRODUCT_NAME",
    "copyright": "<COMPANY_NAME>",
    "afterSign": "scripts/notarize.js",
    "directories": {
      "buildResources": "resources",
      "output": "release"
    },
    "mac": {
      "hardenedRuntime": true,
      "gatekeeperAssess": false,
      "category": "public.app-category.developer-tools",
      "target": ["mas"],
      "icon": "resources/icon.icns",
      "identity": "<IDENTITY>",
      "provisioningProfile": "build/mac.provisionprofile",
      "type": "distribution",
      "electronLanguages": ["en"],
      "entitlements": "build/mac.plist",
      "entitlementsInherit": "build/mac.plist"
    },
    "mas": {
      "hardenedRuntime": false,
      "provisioningProfile": "build/mas.provisionprofile",
      "type": "distribution",
      "electronLanguages": ["en"],
      "entitlements": "build/entitlements.mas.plist",
      "entitlementsInherit": "build/entitlements.mas.inherit.plist"
    },
    "dmg": {
      "sign": false,
      "contents": [
        { …
Run Code Online (Sandbox Code Playgroud)

macos code-signing electron electron-builder

8
推荐指数
1
解决办法
453
查看次数

如何让 Electron-builder 为安装程序打包非代码文件以将它们安装在用户主目录 (app-data) 中

我想要完成的事情:

我想了解如何配置 Electron-Builder/Webpack 来打包非代码文件(配置文件、XML 文件、元数据文件、JSON 文件),这样当安装程序安装应用程序时,这些文件将保存在用户家中本地机器上的目录。我明白将这些文件存储在已安装的二进制文件之外的重要性,因此当用户更新他们的版本时,他们不会丢失他们可能设置的任何自定义。但是这些文件的初始版本必须存在于某个地方,例如这些文件的模板版本。

我找到了一些教程,解释了如何将这些非代码文件作为包的一部分包含在内: Electron - 如何添加外部文件?

如何管理 Webpack/Electron 应用程序的配置?

但是我从这些帖子中没有看到或理解的是如何配置安装程序,以便在运行时,这些文件将被复制到用户主目录(appData 文件夹)。特别是如果这些文件已经安装以避免覆盖它们或询问用户是否要覆盖它们?怎么设置呢?

还必须有一些配置设置,以允许这些文件保留在 Github 存储库中,并使开发人员能够使用这些非代码文件的开发路径,同时不会破坏用户安装版本上这些文件的生产路径。如何设置这种配置?

这是我项目中的文件夹结构:

src
 - Application
    - electronVueJS-App
       - application.js
       - App.vue
       - build.js
       - registerServiceWorker.js
       - ...Rest of the files/folders for the application....
       - Resources
          - Configuration
             - Colors.csv
             - Configuration.xml
 - Framework
    - CommandsBlob
       - commands.xml
    - Workflows
       - workflows.xml
    - ....Rest of my code files/folders....
Run Code Online (Sandbox Code Playgroud)

我想第 1 步可能会让我将所有非代码 XML 文件移动到至少 2 个文件夹中,一个在 Application 文件夹中,另一个在 Framework 文件夹中,我准备这样做,但我想全面了解所有这些 Electron-Builder/WebPack/Installer 配置是如何设置的,以便在我重新构建应用程序代码之前,配置文件将安装在用户本地系统的主目录路径中。

我想还有其他问题,但我想我可以尝试单独解决这些问题,如果我遇到另一个阻止程序,则提交另一个问题。但是,如果您有可以帮助我的链接,请务必分享。

设置自动更新程序后,如何告诉用户特定更新是否需要对其配置文件进行重大更改。

如何设置卸载程序,以便用户可以选择在卸载过程后保持配置文件完好无损,或者继续删除所有内容? …

installation uninstallation webpack electron electron-builder

8
推荐指数
1
解决办法
2487
查看次数

在电子打包所有内容后,Prisma 客户端找不到查询引擎

我正在使用 Electron 和 Prisma(以及我们不必担心的其他项目)制作一个项目。我一直在试图解决这个错误的时间:我不能让Prisma的发现查询引擎可执行文件,我已经尝试了一堆东西我互联网上找到,但仍然一无所获。

我试图设置 Prisma 将在哪里找到查询引擎,这个 repo 我找到了“解决方案”,但它没有用(至少对我来说不是):

这是我的 Prisma 架构:

datasource db {
    provider = "sqlite"
    url      = "file:./data.db"
}

generator client {
    provider = "prisma-client-js"
    binaryTargets = ["native"]
    output   = "../electron/database/generated/client"
}
Run Code Online (Sandbox Code Playgroud)

我正在使用 webpack 来编译 Electron 和 React,所以我将模式生成设置为 Electron 文件夹,然后 webpack 将编译到“dist”文件夹。我使用copy-webpack-plugin来复制 schema.prisma 和 query-engine-windows.exe(这是我的操作系统)。毕竟我收到这个错误:

r [PrismaClientKnownRequestError]: spawn C:\Users\Tiago Oliveira\programming\web-dev\electron-prisma-react-ts-passwordkeeper\packages\win-unpacked\resources\app.asar.unpacked\dist\query-engine-windows.exe ENOENT
    at C:\Users\Tiago Oliveira\programming\web-dev\electron-prisma-react-ts-passwordkeeper\packages\win-unpacked\resources\app.asar\dist\main.js:69:77852
    at c (C:\Users\Tiago Oliveira\programming\web-dev\electron-prisma-react-ts-passwordkeeper\packages\win-unpacked\resources\app.asar\dist\main.js:1:54711)
    at Generator._invoke (C:\Users\Tiago Oliveira\programming\web-dev\electron-prisma-react-ts-passwordkeeper\packages\win-unpacked\resources\app.asar\dist\main.js:1:54464)
    at Generator.throw (C:\Users\Tiago Oliveira\programming\web-dev\electron-prisma-react-ts-passwordkeeper\packages\win-unpacked\resources\app.asar\dist\main.js:1:55070)
    at asyncGeneratorStep (C:\Users\Tiago Oliveira\programming\web-dev\electron-prisma-react-ts-passwordkeeper\packages\win-unpacked\resources\app.asar\dist\main.js:1:195068)
    at …
Run Code Online (Sandbox Code Playgroud)

webpack electron electron-builder prisma

8
推荐指数
1
解决办法
193
查看次数