跳到内容

AppX

顶级的 appx 键包含一组选项,用于指示 electron-builder 如何构建 AppX (Windows 应用商店)。

所有选项都是可选的。AppX 配置所需的一切都会自动推断和计算。

AppX 包代码签名

  • 如果 AppX 包用于企业或自制分发(手动安装应用程序,而无需使用商店进行测试或企业分发),则必须进行签名
  • 如果 AppX 包用于 Windows 应用商店分发,则无需使用任何证书对包进行签名。Windows 应用商店将在提交过程中负责使用 Microsoft 证书对其进行签名。

AppX 资源

AppX 资源需要放置在 appx 文件夹中,该文件夹位于 build 目录中。

资源应遵循以下命名约定

  • Logo: StoreLogo.png
  • Square150x150Logo: Square150x150Logo.png
  • Square44x44Logo: Square44x44Logo.png
  • Wide310x150Logo: Wide310x150Logo.png
  • 可选 BadgeLogo: BadgeLogo.png
  • 可选 Square310x310Logo: LargeTile.png
  • 可选 Square71x71Logo: SmallTile.png
  • 可选 SplashScreen: SplashScreen.png

构建过程支持所有官方 AppX 资源类型。这些资源可以通过在名称中使用 target sizescale 来包含缩放资源。有关更多信息,请参阅 磁贴和图标资源指南

如果未提供 LogoSquare150x150LogoSquare44x44LogoWide310x150Logo,将使用默认资源。对于标记为可选的资源,如果未提供这些资源,则不会在清单文件中列出。

如何将你的 Electron 应用程序发布到 Windows 应用商店

  1. 你需要一个 Microsoft 开发者帐户(支付少量费用)。使用你喜欢的搜索引擎查找注册表单。
  2. 在此处注册你的应用程序以进行桌面桥接 here
  3. 等待微软回复并进一步指导你。
  4. 与此同时,构建并测试你的 appx。这非常简单。

json "win": { "target": "appx", }, 5. 其余的应该非常简单 — 将 appx 上传到商店并等待批准。

在 macOS 上构建 AppX

目前唯一的解决方案 — 使用 Parallels Desktop for Mac (Pro Edition 是必需的)。创建 Windows 10 虚拟机并启动它。它将被自动检测和使用,以在你的 macOS 机器上构建 AppX。Windows 上无需进行任何设置。它允许你不将项目复制到 Windows,也不在 Windows 上设置构建环境。

常见问题

如何在没有受信任证书的情况下安装 AppX?

如果你使用自签名证书,则需要将其添加到“受信任的人员”。请参阅 安装证书

配置

Electron-Builder / app-builder-lib / AppXOptions

扩展

属性

addAutoLaunchExtension?

readonly optional addAutoLaunchExtension: boolean

是否添加自动启动扩展。如果依赖项中存在 electron-winstore-auto-launch,则默认为 true


applicationId?

readonly optional applicationId: string

应用程序 ID。默认为 identityName。此字符串包含用句点分隔的字母数字字段。每个字段必须以 ASCII 字母字符开头。


artifactName?

readonly optional artifactName: null | string

工件文件名模板

继承自

TargetSpecificOptions.artifactName


backgroundColor?

readonly optional backgroundColor: null | string

应用程序磁贴的背景颜色。请参阅 Visual Elements

默认
###464646

customExtensionsPath?

readonly optional customExtensionsPath: string

要包含在 appmanifest.xml 中的自定义扩展 xml 的相对路径。


customManifestPath?

readonly optional customManifestPath: string

(高级选项)自定义 appmanifest.xml 的相对路径(文件名无关紧要,它将被重命名),位于 build 资源目录中。支持以下模板宏

  • ${publisher}
  • ${publisherDisplayName}
  • ${version}
  • ${applicationId}
  • ${identityName}
  • ${executable}
  • ${displayName}
  • ${description}
  • ${backgroundColor}
  • ${logo}
  • ${square150x150Logo}
  • ${square44x44Logo}
  • ${lockScreen}
  • ${defaultTile}
  • ${splashScreen}
  • ${arch}
  • ${resourceLanguages}
  • ${extensions}
  • ${minVersion}
  • ${maxVersionTested}

displayName?

readonly optional displayName: null | string

可以向用户显示的友好名称。对应于 Properties.DisplayName。默认为应用程序产品名称。


identityName?

readonly optional identityName: null | string

名称。对应于 Identity.Name。默认为应用程序名称


languages?

readonly optional languages: null | string | string[]

将在 Windows 应用商店中列出的受支持语言列表。第一个条目(索引 0)将是默认语言。如果省略,则默认为 en-US。


maxVersionTested?

readonly optional maxVersionTested: null | string

在 appx manifest.xml 中设置 MaxVersionTested 字段

默认
arch === Arch.arm64 ? "10.0.16299.0" : "10.0.14316.0"

minVersion?

readonly optional minVersion: null | string

在 appx manifest.xml 中设置 MinVersion 字段

默认
arch === Arch.arm64 ? "10.0.16299.0" : "10.0.14316.0"

publish?

optional publish: Publish

继承自

TargetSpecificOptions.publish


publisher?

readonly optional publisher: null | string

Windows 应用商店发布者。如果 AppX 是为测试而构建的,则不使用。请参阅下面的AppX 包代码签名


publisherDisplayName?

readonly optional publisherDisplayName: null | string

可以向用户显示的发布者的友好名称。对应于 Properties.PublisherDisplayName。默认为应用程序元数据中的公司名称。


setBuildNumber?

readonly optional setBuildNumber: boolean

是否设置构建号。请参阅 https://github.com/electron-userland/electron-builder/issues/3875

默认
false

showNameOnTiles?

readonly optional showNameOnTiles: boolean

是否在“开始”屏幕上将应用程序的名称覆盖在磁贴图像之上。默认为 false。(https://docs.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/element-uap-shownameontiles) 在依赖项中。

默认
false