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 size
和 scale
来包含缩放资源。有关更多信息,请参阅 磁贴和图标资源指南。
如果未提供 Logo
、Square150x150Logo
、Square44x44Logo
和 Wide310x150Logo
,将使用默认资源。对于标记为可选的资源,如果未提供这些资源,则不会在清单文件中列出。
如何将你的 Electron 应用程序发布到 Windows 应用商店¶
- 你需要一个 Microsoft 开发者帐户(支付少量费用)。使用你喜欢的搜索引擎查找注册表单。
- 在此处注册你的应用程序以进行桌面桥接 here。
- 等待微软回复并进一步指导你。
- 与此同时,构建并测试你的 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
继承自¶
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