Electron 应用程序如何上架到 Microsoft Store
1. 准备工作
- 我是使用
Windows 11虚拟机进行打包操作的. 因为打包需要在一台干净的机器上进行,否则打包内容可能出错.
A clean machine for conversion is important because during the installation step of the MSIX PackagingTool, we will be listening to everything in the environment to capture what the installer is doing.
-
用来进行打包的操作系统至少是
Windows 10 1809, 并安装了MSIX Packaging Tool -
提前将你的
Electron应用进行编译。就是说,你需要先有一个exe程序,然后使用下述步骤将其转换成一个可以上架到Microsoft Store的MSIX程序. -
当然,你还需要有一个 Microsoft 开发者账号. 并且在账号中创建了一个
MSIX app name.
2. 打包
-
打开
MSIX Packaging Tool -
在
Select task页面,选择Application package: Create your app package -
在
Create your app package页面,选择Create package on this computer -
此时页面依然停留在
Create your app package页面,左侧菜单栏变为Prepare computer. 检查以下条目:-
Additional preparations:
MISX Packaging Tool Driver:InstalledWindows Update is active:Disabled
-
Recommended action items:
Windows Search is active:Disabled.
如果你的这个项目是启用状态,使用左下角
Disable selected, 将其禁用
选择
Next -
-
此时页面依然停留在
Create your app package页面, 左侧菜单栏变为Select installerChoose the installer you want to package: 选择你的exe程序Specify installer arguments (optional): 这里我的程序不需要额外参数, 不需要做任何配置Signing prefernce: 选择Do no sign package.提交到 Microsoft Store 之后,微软会给我们的程序进行签名,我们自己不需要签名
选择
Next -
此时页面依然停留在
Create your app package页面, 左侧菜单栏变为Package information这里需要填写你在你的开发者账号中为你的应用程序创建的应用程序信息.
微软的这个账号登录地址特别难找,这里仅供参考: https://partner.microsoft.com/zh-cn/dashboard/home
这个信息在登录你的开发者账号之后,在
主页 > 应用和游戏 > [应用名称]可以查看. 这个信息位于页面上的查看产品标识部分.在
MSIX Packaging Tool中需要填写的信息和网页上的信息对应关系如下:MSIX Packaging Tool Web Package name Package/Identity/Name Package display name [应用名称](注册名称时填写的信息) Publisher name Package/Identity/Publisher ( CN=....)Publisher display name Package/Properties/PublisherDisplayName Version 填写你的程序版本即可 Package Description 填写你的程序描述即可 Installation location 不填 选择
Next -
此时页面依然停留在
Create your app package页面, 左侧菜单栏变为Accelerator不需要填写
选择
Next -
此时页面依然停留在
Create your app package页面, 左侧菜单栏变为Installation到达这个页面之后,你的
exe安装程序会自动运行。 此时你需要在你的安装界面进行必要交互, 确保你的安装程序安装完成.如果遇到
Installer failed to run, 目前没有发现有效解决办法,只能重新配置,进行另一次尝试.完成之后,选择
Next -
此时页面依然停留在
Create your app package页面, 左侧菜单栏变为First launch tasks安装完成之后,启动你的程序,进行必要的配置(如果需要配置才能运行),以确保你的程序所有依赖都被检测到.
在页面的程序列表中选择你的程序,然后点击
Run按钮. 运行完成之后,退出你的程序.选择
Next -
此时页面依然停留在
Create your app package页面, 左侧菜单栏变为Package report如果一切正常,继续选择
Next -
此时页面依然停留在
Create your app package页面, 左侧菜单栏变为Create package选择保存你的
msix的位置, 选择Create
如果一切顺利,至此,你应用将你的 exe 成功的转成了 MSIX 文件.
3. 安装包测试
这不是必须的,但通常我都会在提交之前,自己进行必要的测试, 以避免因为一些简单的错误而需要频繁的打包重新提交.
那么如何创建一个安装包用于测试呢?
-
打开
MSIX Packaging Tool, 选择Package editor: Edit an existing package -
在
Select package页面选中刚刚创建的msix安装包. 点击Open package -
在
Package editor页面之后, 左侧菜单栏当前选中的是Packaging information, 找到Manifest file. 点击Open file通常情况下,该程序会使用 Windows 默认的文本编辑器打开该文件.
在
Identity节点的Publisher属性中,追加如下内容:, OID.2.25.311729368913984317654407730594956997722=1然后保存并关闭文本编辑器
选择
Save按钮 -
测试安装包创建好了之后,以管理员权限打开一个
Powershell窗口执行以下命令进行安装:
Add-AppPackage -Path "./MyPackageName.appx" -AllowUnsigned成功执行之后,你的程序就已经安装成功了,可以进行测试了
4. 移出额外的快捷方式
注意: 这一步依然很重要,我就曾经因为这个步骤没有做,导致审核没有通过.
步骤和 3 基本一致,打开 Manifest file 进行编辑.
移出里面多余的配置:
<Extension> <desktop7:Extension Category="windows.shortcut"> ... </desktop7> <desktop7:Extension Category="windows.shortcut"> ... </desktop7></Extension>
保存,并重新创建打包程序即可。