支持原生消息传递的 Edge Extension 封装(UWP 应用程序)

Packging of Edge Extension which support nativemessaging(UWP app)

我开发了一个扩展,它使用本地消息传递与后端 uwp 应用程序进行通信。我该如何包装它?

当我安装软件包时,它是否也会安装作为软件包一部分的边缘扩展。

我已经通过以下步骤成功构建了带有边缘扩展的包。 希望对你有所帮助~

在 C\EdgeExtension\Appx 中按以下结构构建项目:

1. 全信任进程
如果有fullTrustProcess,exe应该包含在TrustedProcess文件夹中,配置在AppxManifest.xml.

<desktop:Extension Category="windows.fullTrustProcess" Executable="TrustedProcess\MyTrustedProcess.exe" />

如果没有 fullTrustProcess,忽略并删除 TrustedProcess 文件夹。
2. 扩展
Edge 扩展的 JS 文件包含在 Extension 文件夹中,配置如下: 3.UWP 文件
- 资产
- AppxManifest.xml
- EdgeNativeMessage.dll
- EdgeNativeMessage.exe
- EdgeNativeMessage.winmd
- resources.pri
4.用命令打包

    C:\Program Files (x86)\Windows Kits\bin\x86\makeappx.exe pack /h SHA256 /d  C\EdgeExtension\Appx /p C\EdgeExtension\EdgeNativeMessage.appx
5. 签署 appx

    C:\Program Files (x86)\Windows Kits\bin\x86\signtool.exe sign /fd SHA256 /a /f C:\EdgeExtension\MyKey.pfx /p "password" C\EdgeExtension\EdgeNativeMessage.appx
  1. 安装扩展程序
    • 安装 MyKey.pfx
    • 双击 MyEdgeExtension.appx,然后单击安装以安装扩展。
  2. 检查
    • 启动 Edge 浏览器
    • 单击 ...-> 扩展,
      系统会注册appx,需要几秒后分机才会显示在分机列表中
    • 检查注册表
      EdgeNativeMessage 将添加到两个路径。

    Computer\HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge\Extensions
Computer\HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge\ExtensionsStore\datastore\Config