MSI/EXE 应用的应用认证过程

当你完成应用提交的创建并将其提交到 Microsoft Store 时,提交将进入认证步骤。 此过程最多需要 3 个工作日。 提交通过认证后,客户平均可以在 15 分钟内查看应用的一览,具体取决于其位置。

应用包将从指定的包 URL 下载。 将遵循认证说明中的任何说明。 如果在预处理过程中检测到任何错误,将显示一条消息。 在此阶段,将执行多个测试来验证应用提交。 如果提交未通过上述任何测试,你将收到通知。

提交发布后,你会收到通知,并且仪表板中的应用状态将为“已在应用商店中”。

在发布之前,应用需接受两类测试:安全测试和内容符合性。

安全测试

应用提交将接受一系列检查。

Package URL

必须提供安全的 (HTTPS) 包 URL。 如果此测试失败,提交将不会继续执行下一步。

包 URL 必须托管打包为 .exe 或 .msi 文件的应用安装程序。 如果此测试失败,提交将不会继续执行下一步。

重要

包 URL 上的安装程序二进制文件在提交后不得更改。 建议创建并提交版本控制包 URL(如 https://contoso.com/downloads/1.1/myinstaller.msi)。 如果需要更新包 URL,可以使用新的包 URL 创建一个新的应用提交

恶意软件测试

此测试使用静态和动态扫描技术检查应用是否包含病毒、恶意软件和不需要的应用程序。 如果应用程序未通过此测试,则需要运行最新的防病毒软件以检查开发系统,然后在干净的系统上重新构建应用程序包。

强烈建议使用 Microsoft Defender 或其他与 Windows 兼容的使用者防病毒软件来扫描应用,以确保其中没有恶意软件和不需要的应用。

无提示安装

此测试通常检查应用中是否出现以下行为:

  • 可以在用户看不到任何用户界面的情况下以无提示方式安装。 安装包时,将使用你提供的任何安装程序参数。
  • 可以在使用标准用户帐户登录时成功安装。
  • 可以在 Windows“开始”菜单和程序列表中创建条目,以便用户发现它。 如果应用不需要这样做,你应在提交的“认证说明”部分中提及这一点。
  • 应用的安装程序已针对 Windows 进行适当配置,在客户期望找到产品名称、发布者名称、默认语言和版本信息(如果适用)等信息的位置(如 Windows 中的“添加/删除程序”中)查询此类信息。 此信息是应用的安装程序包的一部分。 有关如何设置 Windows 安装程序属性的详细信息,请参阅设置安装程序属性
  • 可以完全卸载,而不会留下文件、文件夹和注册表项的残余内容。

独立/脱机安装程序

此测试检查并确定提交的安装程序是独立/脱机安装程序,而不是在调用时下载二进制文件的下载程序。 这需要验证安装的二进制文件与通过认证过程的二进制文件是否相同。

捆绑软件检查

此测试检查应用是否试图安装与应用的核心用途可能不相关的任何其他第三方应用。

对非 Microsoft 驱动程序/NT 服务的依赖

此测试将检查应用是否依赖于任何类型的非 Microsoft 驱动程序或 NT 服务。 你需要在应用提交期间在合作伙伴中心披露此类依赖关系。

为了确保为 Windows 上的应用程序和更新创造一个经过验证且受信任的生态系统,必须使用数字签名/代码签名。 强烈建议将 EXE/MSI 应用及其内部的可移植可执行 (PE) 文件使用代码签名证书进行数字签名,而该证书会一直链接到由作为 Microsoft 受信任的根程序的一部分的证书颁发机构 (CA) 所颁发的证书。

隐私策略

如果应用要求提供有效的隐私策略 URL,则应包括在内;例如,如果你的应用以任何方式访问任何种类的个人信息或法律另有要求。 若要帮助确定应用是否需要隐私策略,请查看应用开发人员协议Microsoft Store 策略

其他测试

根据提交的应用类型,可能会执行与应用的性能、安全性、稳定性和可靠性相关的其他测试,并与你分享观察结果,供你执行后续步骤。

避免常见的认证失败

查看此列表,以帮助避免通常导致应用程序无法获得认证的问题,或者避免在发布应用程序之后进行抽查时发现的问题。

  • 请勿在安装期间或安装后推广第三方应用。
  • 只在完成安装之后提交应用程序。 欢迎使用你的应用提要来介绍即将推出的功能,但是请确保你的应用不包含未完成的部分、指向正在构建的网页的链接,或者其他任何会让客户觉得你的应用不完整的内容。
  • 使用多个不同的配置测试应用程序,以确保它尽可能稳定。
  • 确保你的应用在没有网络连接时不会崩溃。 即使应用需要连接网络才能使用,也应该能够在没有网络连接的情况下适当运行。
  • 提供使用你的应用时所需的任何必要信息,例如,如果应用要求用户登录某项服务,则需要提供测试帐户的用户名和密码;还可能需要说明访问隐藏的功能或锁定的功能所需的任何步骤。
  • 配置应用的安装程序,以在客户期望找到产品名称、发布者名称、默认语言、版本信息(如果适用)等信息的位置(如 Windows 中的“添加/删除程序”中)提供应用的此类信息。 此信息是应用的安装程序包的一部分。 有关如何设置 Windows 安装程序属性的更多详细信息,请参阅设置安装程序属性
  • 如果应用需要隐私策略 URL,则应包括在内;例如,如果你的应用以任何方式访问任何种类的个人信息或法律另有要求。 若要帮助确定应用是否需要隐私策略,请查看应用开发人员协议Microsoft Store 策略
  • 请确保应用的说明清晰地展示应用的用途。 有关帮助,请参阅有关如何编写详尽的应用程序说明的指南。
  • 除非你已经进行专门的工程处理和测试,确定了应用适用于辅助功能方案,否则不要将应用声明为辅助应用。
  • 若要确保你的应用满足其中所列出的所有要求,请查看 Microsoft Store 策略

内容符合性

此测试所需的时间会有所不同,具体取决于应用的复杂程度、包含的视觉内容量以及近期提交的应用数量。 请务必在认证说明部分中提供测试者需注意的全部信息。

完成认证过程后,如果认证过程未通过,你将收到一封电子邮件,其中包含一个报告,指出哪个测试失败或哪个策略条件未满足。 解决问题之后,可以为应用程序创建新的提交内容,以便再次启动认证过程。

重要

应用的内容应符合 Microsoft Store 内容策略,并且将按照策略进行测试。 强烈建议在提交应用之前了解这些策略。

发布

应用将在经过认证后发布。 此阶段开始后,便无法再取消提交。

我们还会在应用发布后对应用进行抽查,以便可以找出潜在问题并确保你的应用符合所有 Microsoft Store 策略。 如果我们发现任何问题,将通知你该问题及其解决方法(如果适用)或是否已从 Microsoft Store 中删除。