部署SecureInput MS Edge扩展的问题本机消息传递样本



我正在尝试使用SecureInput扩展样本样本,该样本在MS Edge浏览器扩展中演示了Nativemessing功能,并且我遇到了使用VS Community Edition 2017构建后部署扩展的问题。我没有通用Windows平台应用程序开发经验,因此,如果我不知道有一个相当明显的答案,我深表歉意。但是,按照示例中的readme.md行不通,所以在此处发布此问题...

https://github.com/microsoftedge/microsoftedge-extensions-demos/tree/master/master/secureinput

步骤遵循…

  1. 打开"使用开发人员功能"中的开发人员模式
  2. 打开Edge Browser的启用扩展开发人员功能:flags。
  3. 将样本作为邮政编码下载到本地机器。
  4. 将SecureInput.html复制到我的本地Web服务器
  5. 在VS中加载了SecureInput.sln社区版2017年有两个选项。。。想尝试INPROC。因此需要选择项目构建配置管理器中的NativeMessagingHostinProcess。其他使用的设置...调试 - 配置;任何CPU - 主动解决方案平台;nativemessaginghostinprocess - x64项目平台使用64位Windows和Edge运行为64位进程出色地;将休息作为默认。
  6. 使用调试配置和任何CPU解决方案平台构建了整个解决方案。

部署摘要

  1. 构建了整个SecureInput解决方案。
  2. 通过运行安装的appx软件包add -appxpackage -register [pathtosecureInputsolutionFolder] NativeMessagingHostinProcess bin x64 debug appxmanifest.xml
  3. 在建造过程中或从高架电源壳提示中运行add-appxpackage时没有错误。

预期:在此点EdgeBrowser-> MoreOptions->扩展名应列出Appx软件包安装的扩展名(部署摘要/步骤2(。=>>没有发生。

其他一些细节

  1. 我使用的是64位Win 10创作者构建(1703 - OS构建16063.128(
  2. 我怀疑添加App-appxpackage无法静静地添加扩展名。冗长的旗帜也没有给我任何线索。
  3. Get-appxpackage显示新添加的Appx软件包。

名称:AE24A957-5239-43B2-A36C-B96805A58ADE发布者:CN = MSFT建筑:X64ResourceId:版本:1.0.0.0packagefullname:AE24A957-5239-43B2-A36C-B96805A58ADE_1.0.0.0.0.x64__2yx4q2bk84nj4installlocation:[pathtosecureInputsolutionFolder] nativemessagingHostinProcess bin x64 debugiSframework:falsePackageFamilyName:AE24A957-5239-43B2-A36C-B96805A58ADE_2YX4Q2BK84NJ4 PUBLISPURRERERID:2YX4Q2BK84NJ4isResourcepackage:falseisBundle:falseisDevelopmentMode:true专家:false

我想知道是否有人让这个示例有效。如果Microsoft Edge的人们正在监视Stackoverflow,我真的很感谢是否有人跳入帮助您的早期采用者。: - (

在Chee Chen的离线帮助下,我们能够弄清楚SecureInput为什么不起作用。我衷心感谢他竭尽所能提供帮助。在我的具体情况下,以下是错误的事情。

  1. url清单。json给出了案例敏感的权限。当我第一次在Edge浏览器中第一次输入URL时,我有一个错字。.我输入了SecureInput.html。如果您看到使用较低的case secureinput.html无济于事,请尝试清洁缓存。
  2. 当指令第一次无法正常工作时,我使用了Add-appxpackage部署扩展名。在这样做的过程中,我在NativeMessagingHostinProcess bin x64 debug appxManifest.xml中选择了appxManifest文件,而不是NativemessagingHostinProcess bin bin x64 x64 debug debug appx appxmanifest.xml。要提防的东西,如果您犯同样的错误,请确保您完全卸载了Appx软件包,然后重新开始。

所以这是我对其他尝试样本的补充说明: - (

  1. 确保根据目标测试机选择正确的平台。边缘运行为64位进程,因此您的扩展名需要在该平台上进行针对。
  2. 确保在passwordInputProtection-> program.cs and Extension-> Background.js
  3. 中选择正确的AppServiceName
  4. 我认为passwordInputProtection.csproj在其路径中具有硬编码程序文件(x86(,如果您在32位机器上尝试示例,该文件将中断。在记事本中编辑项目文件,然后在尝试之前对其进行修复。
  5. 确保正确配置了NativeMessaging Host项目的输出路径...它需要为" bin [platform] [configuration] appx ",而不是" bin [platform] [platform] [configuration] "
  6. "
  7. 如果可以的话,请避免使用错别字,因为我几乎看不到有关事物为什么不起作用的反馈或详细日志。

您是否尝试过按照文档中的部署步骤进行操作?实际步骤和订购很重要:

  1. 构建和部署NativeMessagingHostinProcess UWP应用程序。

这将生成:

  • UWP应用所需的必要二进制文件和文件。
  • appx文件夹。
  • 基于package.manifest的内容appxmanifest.xml。(package.manifest在此示例中的内容已编辑,以包括边缘扩展的必要条目(。

    1. 构建密码InputProtection桌面桥。

这将:

  • 为该项目构建二进制文件
  • 触发一个后构建事件,该事件将将EXE的输出复制到Appx文件夹,然后将扩展文件夹复制到Appx文件夹。

    1. 现在,这些文件都准备好了,您将需要注册appx。

有两种方法可以完成此操作:

  1. 从powershell运行add-appxpackage:add-appxpackage -register [appx文件夹的路径] appxmanifest.xml

  1. 部署NativeMessagingHostinProcess项目。Visual Studio将运行相同的PowerShell脚本以从文件夹中注册APPX。

相关内容

最新更新