赞
踩
在Windows 10中,良好的旧win32可执行文件有了新的同级文件:Universal Windows Platform。新.appx
格式不仅启用了许多新的强大API(如Cortana或Push Notifications),而且还通过Windows应用商店简化了安装和更新。
微软开发了一种工具,可以将Electron应用程序.appx
打包为软件包,从而使开发人员可以使用新应用程序模型中的某些功能。本指南说明了如何使用它-以及Electron AppX软件包的功能和局限性。
Windows 10“周年更新”能够通过与虚拟文件系统和注册表一起启动win32.exe
二进制文件来运行它们。两者都是在编译过程中通过在Windows容器中运行应用程序和安装程序创建的,从而使Windows能够准确识别在安装过程中对操作系统进行了哪些修改。将可执行文件与虚拟文件系统和虚拟注册表配对,可使Windows启用一键式安装和卸载。
此外,该exe是在appx模型内启动的-意味着它可以使用通用Windows平台可用的许多API。为了获得更多功能,Electron应用程序可以与启动的不可见的UWP后台任务配合使用exe
-作为一种助手在后台运行任务,接收推送通知或与其他UWP应用程序进行通信。
要编译任何现有的Electron应用程序,请确保您具有以下要求:
node
4(要检查并运行node -v
)然后,去安装electron-windows-store
CLI:
npm install -g electron-windows-store
使用Electron打包程序(或类似工具)打包应用程序。确保删除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 │ ├── [...] ├── node.dll ├── resources │ └── app.asar ├── v8_context_snapshot.bin ├── squirrel.exe └── ui_resources_200_percent.pak
在授权的PowerShell中(以“以管理员身份运行”),electron-windows-store
使用必需的参数运行 ,同时传递输入和输出目录,应用程序的名称和版本,以及node_modules
应进行拼合的确认 。
- electron-windows-store `
- --input-directory C:\myelectronapp `
- --output-directory C:\output\myelectronapp `
- --package-version 1.0.0.0 `
- --package-name myelectronapp
一旦执行,该工具便开始工作:它接受您的Electron应用程序作为输入,将展平node_modules
。然后,它将您的应用程序归档为app.zip
。该工具使用安装程序和Windows容器创建一个“扩展”的AppX程序包-包括Windows应用程序清单(AppXManifest.xml
)以及输出文件夹中的虚拟文件系统和虚拟注册表。
创建扩展的AppX文件后,该工具将使用Windows App Packager(MakeAppx.exe
)从磁盘上的这些文件创建单文件AppX程序包。最后,该工具可用于在您的计算机上创建受信任的证书,以对新的AppX软件包进行签名。使用签名的AppX软件包,CLI也可以自动将软件包安装在您的计算机上。
为了运行您的程序包,您的用户将需要带有所谓的“周年更新”的Windows 10-有关如何更新Windows的详细信息,请参见此处。
与传统的UWP应用相反,打包的应用当前需要经过手动验证过程,您可以在此处进行申请。同时,所有用户都可以通过双击来安装您的软件包,因此,如果您正在寻找一种更简单的安装方法,则无需向商店提交。在托管环境(通常是企业)中, Add-AppxPackage
可以使用PowerShell Cmdlet以自动方式安装它。
另一个重要限制是,已编译的AppX程序包仍包含Win32可执行文件-因此将无法在Xbox,HoloLens或Phones上运行。
您可以将Electron应用程序与不可见的UWP后台任务配对,该任务可以充分利用Windows 10的功能-例如推送通知,Cortana集成或实时磁贴。
要查看如何使用后台任务发送Toast通知和实时图块的Electron应用程序,请查看Microsoft提供的示例。
为了生成AppX软件包,electron-windows-store
CLI使用了适用于大多数Electron应用程序的模板。但是,如果您使用的是自定义安装程序,或者在生成的软件包中遇到任何麻烦,则可以尝试使用Windows容器的编译来创建软件包-在这种模式下,CLI将在空白Windows中安装并运行您的应用程序确定您的应用程序对操作系统进行了哪些修改的容器。
首次运行CLI之前,您必须设置“ Windows Desktop App Converter”。这将花费几分钟,但是不用担心-您只需执行一次。从此处下载和Desktop App Converter 。您将收到两个文件:DesktopAppConverter.zip
和BaseImage-14316.wim
。
DesktopAppConverter.zip
。从提升的PowerShell(以“以管理员身份运行”打开),确保您的系统执行策略允许我们通过调用来运行我们打算运行的所有内容Set-ExecutionPolicy bypass
。BaseImage-14316.wim
通过调用,运行Desktop App Converter的安装,并传入Windows基本映像(下载为)的位置.\DesktopAppConverter.ps1 -Setup -BaseImage .\BaseImage-14316.wim
。安装成功后,您可以继续编译Electron应用程序。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。