Squirrel.Windows

使用 Electron Forge 创建 Windows 安装程序。

Squirrel.Windows 目标使用 Squirrel.Windows 框架构建您的应用程序。它会生成三个文件

文件描述

{appName} Setup.exe

应用程序的主要可执行安装程序

{appName}-full.nupkg

用于更新的 NuGet 包文件

RELEASES

用于检查更新是否可用的元数据文件

Squirrel.Windows 是一种无需提示、无需麻烦、无需管理员权限即可安装 Windows 应用程序的方法,因此它是您可以获得的最友好的方法。

要求

您只能在 Windows 机器上或在安装了 monowine 的 Linux 机器上构建 Squirrel.Windows 目标。

安装

npm install --save-dev @electron-forge/maker-squirrel

用法

将此模块添加到 构建器 部分的 Forge 配置

forge.config.js
module.exports = {
  makers: [
    {
      name: '@electron-forge/maker-squirrel',
      config: {
        certificateFile: './cert.pfx',
        certificatePassword: process.env.CERTIFICATE_PASSWORD
      }
    }
  ]
};

Squirrel.Windows 构建器继承了来自 electron-winstaller 模块的所有配置选项,除了 appDirectoryoutputDirectory,它们由构建器设置。

完整的配置选项在 MakerSquirrelConfig 类型中进行了记录。

必需元数据

Squirrel.Windows 需要必需的包元数据才能满足 .nuspec 清单格式。在 Electron Forge 中有两种方法可以指定此信息。

在 package.json 中

默认情况下,Squirrel.Windows 构建器会获取项目 package.json 文件中的 authordescription 字段。

package.json
{
  // ...
  "author": "Alice and Bob",
  "description": "An example Electron app"
  // ...
}

在您的 Forge 配置中

或者,您也可以直接在 Squirrel.Windows 构建器配置中覆盖这些值。

forge.config.js
module.exports = {
  makers: [
    {
      name: '@electron-forge/maker-squirrel',
      config: {
        authors: 'Alice and Bob',
        description: 'An example Electron app'
      }
    }
  ]
};

请注意,Forge 配置字段为 "authors",而 package.json 字段称为 "author"

处理启动事件

首次运行应用程序、更新应用程序和卸载应用程序时,Squirrel.Windows 将额外启动一次应用程序并使用一些特殊参数。您可以在 electron-winstaller 自述文件中阅读有关这些参数的更多信息。

处理这些参数并防止应用程序在这些事件期间多次启动的最简单方法是使用 electron-squirrel-startup 模块作为应用程序执行的第一件事之一。

main.js
const { app } = require('electron');

// run this as early in the main process as possible
if (require('electron-squirrel-startup')) app.quit();

调试

要为该构建器启用高级调试日志,请添加 DEBUG=electron-windows-installer* 环境变量。

上次更新