本文整理自网络,侵删。
在 Windows 8 中, 一些不错的旧 win32 程序迎来了一个新朋友: 通用Windows平台(UWP)。 新的 .appx
格式不仅启用了许多新的强大的 API,如 Cortana 或推送通知,而且通过Windows 应用商店,也同时简化了安装和更新。
Microsoft 开发了一个工具,将 Electron 应用程序编译为 .appx
软件包,使开发人员能够使用新应用程序模型中的一些好东西。 本指南解释了如何使用它 - 以及 Electron AppX 包的功能和限制。
背景和要求
Windows 10 的 "周年更新" 能够运行 win32 .exe
程序并且它们的虚拟化文件系统和注册表跟随一起启动。 两者都是通过在 Windows 容器中运行应用程序和安装器编译后创建的,允许 Windows 在安装过程中正确识别操作系统进行了哪些修改。 将可执行文件和虚拟文件系统与虚拟注册表配对, 允许 Windows 启用一键安装和卸载。
此外,exe 在 appx 模型内启动 - 这意味着它可以使用通用 Windows 平台可用的许多 API。 为了获得更多的功能,Electron 应用程序可以与一个看不见的 UWP 后台任务配合使用,它与 exe
一起启动,作为后台运行任务的接收器,接收推送通知或与其他 UWP 应用程序通信 。
要编译任何现有的 Electron 应用程序,请确保满足以下要求:
- Windows 10及周年更新 (2016年8月2日发布的)
- Windows 10 SDK, 这里下载
- 最新的 Node 4 (运行
node -v
来确认)
然后, 安装 electron-windows-store
CLI:
npm install -g electron-windows-store
步骤 1: 打包你的 Electron 应用程序
打包应用程序使用 electron-packager (或类似工具). 确保在最终的应用程序中删除不需要的 node_modules
, 因为这些你不需要模块只会额外增加你的应用程序的大小.
结构输出应该看起来大致像这样:
├── Ghost.exe
├── LICENSE
├── content_resources_200_percent.pak
├── content_shell.pak
├── d3dcompiler_47.dll
├── ffmpeg.dll
├── icudtl.dat
├── libEGL.dll
├── libGLESv2.dll
├── locales
│ ├── am.pak
│ ├── ar.pak
│ ├── [...]
├── natives_blob.bin
├── node.dll
├── resources
│ ├── app
│ └── atom.asar
├── snapshot_blob.bin
├── squirrel.exe
├── ui_resources_200_percent.pak
└── xinput1_3.dll
步骤 2: 运行 electron-windows-store
从提权的 PowerShell(用管理员身份运行它)中,以所需的参数运行 electron-windows-store
,传递输入和输出目录,应用程序的名称和版本,以及确认node_modules
应该是扁平的。
electron-windows-store `
--input-directory C:\myelectronapp `
--output-directory C:\output\myelectronapp `
--flatten true `
--package-version 1.0.0.0 `
--package-name myelectronapp
一旦执行,工具就开始工作:它接受您的 Electron 应用程序作为输入,展平 node_modules
。 然后,它将应用程序归档为 app.zip
。 使用安装程序和 Windows 容器,该工具创建一个“扩展的” AppX 包 - 包括 Windows 应用程序清单 (AppXManifest.xml
)以及虚拟文件系统和输出文件夹中的虚拟注册表。
相关阅读 >>
更多相关阅读请进入《Electron》频道 >>

Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者