你可以获取详细的遥测数据和分析报告,以便查看 Windows 桌面应用程序如何通过新的 Windows 桌面应用程序计划执行。 若要查看这些报表,请导航到合作伙伴中心 >见解仪表板> Windows 桌面应用程序并单击“概述”。
无需访问此数据,只需 注册 并接受 Windows 桌面应用程序计划协议,然后使用用于对应用程序可执行文件进行签名的同一证书上传签名文件。
加入 Windows 桌面应用程序计划
如果你的公司已有合作伙伴中心帐户:登录到合作伙伴中心帐户(使用与帐户所有者关联的Microsoft帐户),并导航到 计划 页面(帐户设置 中,或通过选择左侧导航菜单中 所有)。 在 Windows 桌面应用程序计划下,单击 “入门” 加入该计划,无需额外付费。 如果具有与合作伙伴中心帐户关联的 Azure AD 租户,则添加的用户将能够访问 Windows 桌面应用程序计划。 即将推出,我们将允许你为此程序设置更精细的访问。
提示
如果你的公司有合作伙伴中心帐户,但你无权访问它,请让管理员 将你添加为用户。 请注意,只有帐户所有者才能加入 Windows 桌面应用程序计划。
如果你的公司没有合作伙伴中心帐户:你可以 直接注册 Windows 桌面应用程序计划, 不收费。 即将推出后,我们将提供 将 Azure AD 租户与帐户关联 的选项,以便公司中的其他人也可以登录。
添加桌面应用程序
加入该计划后,需要将 Windows 桌面应用程序添加到仪表板,以便我们可以开始显示分析报告。
我们使用代码签名来建立公司的标识,并为发布的应用检索分析。
我们将向你提供一个文件,并要求你使用用于对桌面应用程序进行签名的相同有效、未过期、未撤销的代码签名证书进行签名。 之后,你将将该签名文件上传到仪表板。 这让我们知道,使用同一证书签名的任何桌面应用程序都属于你的帐户。 我们不会将证书信息用于任何其他目的。
重要
如果发布新的桌面应用程序,则无需重复此过程。 上传已签名的文件后,我们将自动识别使用同一证书签名的任何新应用程序,并自动检索这些产品的分析。 你也不需要在应用程序中分发提供的文件,也不需要为产品提交任何类型的映射
添加一个或多个桌面应用程序
- 在“ 概述 ”页上,选择“ 添加桌面应用程序”。
- 在下一页上,选择 下载文件下载可签名文件,然后将该文件保存到计算机。
- 使用用于对桌面应用程序进行身份验证的相同代码签名证书对刚刚下载的文件进行签名。 可以使用 SignTool.exe(Microsoft Visual Studio 中提供,并作为 Windows SDK的一部分)对此文件进行签名。 下面介绍了有关此过程的更多详细信息。
- 通过将文件拖动到字段中上传刚刚签名的文件(或单击以浏览文件)。
- 选择 提交 以完成该过程。
如果使用多个代码签名证书,可以针对每个证书重复上述步骤。 可以下载、签名和上传用于对应用程序进行签名的每个当前证书的文件。 但是,每个下载的文件只能使用一个证书。
完成这些步骤后,我们将确定哪些 Windows 桌面应用程序使用用于对文件进行签名的同一证书进行签名。 在大多数情况下,我们将开始在 48 小时内显示分析报告,尽管有时可能需要更长的时间。
使用 signtool.exe 对下载的文件进行签名
Microsoft提供了一个工具,用于使用 Visual Studio 和 Windows SDK对文件、SignTool.exe进行签名。 可以使用此工具执行并验证代码签名过程。 此处 提供了有关 SignTool.exe 的详细信息。
下面是使用此工具对可签名文件进行签名的两种最常见方法。
如果有权将代码签名证书作为 个人信息交换(PFX) 文件:
signtool sign /f MyCert.pfx /p MyCertPassword /v SignableFile.bin
如果代码签名证书在本地证书存储中可用:
Signtool sign /v /s MY /n CertSubjectName SignableFile.bin
显示此命令的命令提示符窗口
对文件进行签名后,可以验证是否已使用以下有效证书成功签名:
signtool verify /a SignableFile.bin
查看分析数据
上传已签名的文件并识别出桌面应用程序后,仪表板将显示应用程序的概述以及关键指标。
我们的遥测数据将显示运行状况信息,例如与证书关联的每个应用程序崩溃。 仪表板将显示应用程序的概述以及关键指标。 可以选择任何应用程序来查看其 运行状况报告、安装报表,并在仪表板中 块报表。 还可以使用 Microsoft Store 分析 API 以编程方式检索分析数据。
注意
如果我们检测到应用程序的元数据已更新为使用新名称,我们将开始在新名称下报告新数据。 与旧名称关联的历史数据将保留 30 天。
在至少 100 台设备上安装分析之前,分析将不适用于应用程序。
运行状况报告
使用 Health 报告,可以获取与应用性能和质量相关的数据,包括崩溃和无响应事件。 如果适用,可以查看堆栈跟踪和/或 CAB 文件进行进一步调试。
可以通过多种方式筛选数据,以便:
- 查看所有失败类型的摘要,按命中数排序
- 向下钻取到特定故障并下载堆栈跟踪以更快地调试问题
- 将应用程序的新版本与以前的版本进行比较
- 查看聚合或按区域划分的运行状况数据,使你能够隔离特定于某个区域的问题
- 比较跨 Windows 版本或特定版本(例如最新的 Windows 10 版本)桌面应用程序的性能
- 查看应用程序中包含的一个特定可执行文件的运行状况信息
在“失败 表顶部选择 上传符号,以上传包含应用程序 符号文件的 .zip 文件。 这些符号文件将编制索引,并用于生成更准确的堆栈跟踪。 .zip 中的符号文件类型应为 .pdb、.dll或 .exe。 成功上传 .zip 文件后,应看到更少的 !应用程序故障列表中的新失败的未知 值大约为 5 天。
安装报表
使用 Installs 报告可以查看应用程序在任何给定日期安装的设备数,以及过去 30 天内每个应用程序版本安装的平均设备数。
可以通过多种方式筛选数据,以便:
- 查看安装的摘要,按受欢迎程度排序
- 将应用程序的新版本与以前的版本进行比较
- 查看聚合或按区域安装数据
- 比较跨 Windows 版本或特定版本(例如最新的 Windows 10 版本或 Windows 预览体验计划快速和慢速版本)桌面应用程序的性能
应用程序块报表
应用程序块 报表允许你查看有关应用程序影响 Windows 10 升级的 Windows 10 设备的信息。 可以看到,在过去 30 天内,有多少设备会受到影响,以及设备的平均数量。
包括的升级块的类型如下所示:
类别 | 问题 | 描述 | 向用户提供的指南 |
---|---|---|---|
潜在的沉积物 | 将阻止升级 | 应用程序不适用于新的 OS 版本。 安装过程中需要用户作才能继续升级。 | 在升级之前删除应用程序,并与开发人员检查应用程序的兼容版本。 |
临时沉积物 | 可能会阻止升级。 需要测试应用程序。 | Microsoft正在调查与此应用程序相关的升级问题。 升级不会向可能受到影响的用户推出。 | 在升级之前删除应用程序,并与开发人员检查应用程序的兼容版本。 |
运行时通知 | 在新的 OS 版本中可能无法正常工作,但不会阻止升级 | 应用程序不会阻止升级,但检测到的问题可能会阻止它在新的 OS 版本中正常运行。 | 升级无需执行任何作,但请务必在新的 OS 版本上测试应用程序,并根据需要与开发人员检查兼容版本。 |
使用 Microsoft 应用商店分析 API 检索分析数据
使用 Microsoft Store 分析 API,可以编程方式检索已添加到帐户的应用程序的分析数据。
此 API 提供特定于 Windows 桌面应用程序程序的以下方法:
有关使用此 API 的详细信息,请参阅 使用应用商店服务访问分析数据。
管理桌面应用程序元数据
我们使用可执行文件中的文件名、文件版本、产品名称和产品版本元数据将可执行文件的逻辑分组推断到应用程序中。 如果可执行文件没有准确的元数据,它们可能一起显示在 未知 应用程序名称下,否则应用程序名称将默认为单个可执行文件名称。
使应用和文件的元数据保持最新状态有助于确保它们在仪表板中正确表示。 下面是一些建议:
- 使用证书对要在分析报告中看到的每个可执行文件进行签名,而不仅仅是设置可执行文件。
- 为属于同一应用程序的所有可执行文件(即 我的应用程序)提供一致的产品名称和产品版本信息。 如果某些可执行文件与多个应用程序一起分发,请为它们提供唯一的名称(即 共享组件),以便你可以看到这些可执行文件的分析与其分发的应用程序分开。
- 每次对元数据进行更改时,仪表板中可能会看到应用程序的新条目。 如果进行更改,新的传入遥测数据将反映所做的更改,但旧遥测数据仍将显示为 未知 应用程序。
- 修改文件时,请确保更新应用程序版本和产品版本号。
提示
使用 VERSIONINFO 资源为文件和应用程序设置 FileDescription、FileVersion、ProductName和 ProductVersion。 以下示例定义 VERSIONINFO 资源:
#define VER_PRODUCTNAME_STR "Sample App" #define VER_PRODUCTVERSION 3,10,349,0 #define VER_PRODUCTVERSION_STR "3.10.349.0\0" #define VER_FILEDESCRIPTION_STR "Sample File" #define VER_FILEVERSION 3,10,349,0 #define VER_FILEVERSION_STR "3.10.349.0\0" #define VER_COMPANYNAME_STR "XYZ Corp." #define VER_LEGALCOPYRIGHT_STR "Copyright \251 XYZ Corp." VS_VERSION_INFO VERSIONINFO FILEVERSION VER_FILEVERSION PRODUCTVERSION VER_PRODUCTVERSION FILEFLAGSMASK VER_FILEFLAGSMASK FILEFLAGS VER_FILEFLAGS FILEOS VER_FILEOS FILETYPE VER_FILETYPE FILESUBTYPE VER_FILESUBTYPE BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904E4" BEGIN VALUE "ProductName", VER_PRODUCTNAME_STR VALUE "ProductVersion", VER_PRODUCTVERSION_STR VALUE "FileDescription", VER_FILEDESCRIPTION_STR VALUE "FileVersion", VER_FILEVERSION_STR VALUE "CompanyName", VER_COMPANYNAME_STR VALUE "LegalCopyright", VER_LEGALCOPYRIGHT_STR END END END
添加和管理帐户用户
可以使用 Azure Active Directory 在 Windows 桌面应用程序计划帐户中添加和管理其他用户。 可以添加单个用户、用户组或 Azure AD 应用程序,为每个用户提供预定义角色(经理或开发人员)。
将 Azure Active Directory 与帐户关联
若要添加和管理帐户用户,必须先将帐户与组织的 Azure Active Directory 相关联。 如果组织已使用来自Microsoft的 Office 365 或其他业务服务,则已有 Azure AD。 否则,可以免费创建新的 Azure AD 租户。
有关详细信息,请参阅 将 Azure Active Directory 与合作伙伴中心帐户关联。 虽然本主题重点介绍 Windows 应用开发人员计划,但关联租户的工作方式与 Windows 桌面应用程序计划的工作方式相同。
将用户、组和 Azure AD 应用程序添加到帐户
设置 Azure AD 关联后,可以通过转到“帐户设置”下的“用户”部分来添加用户。 每个用户分配一个角色,用于定义他们对帐户的访问权限。 还可以添加用户组和 Azure AD 应用程序,以授予他们访问合作伙伴中心帐户的权限。 有关添加用户的详细信息,请参阅 添加用户、组和 Azure AD 应用程序。
必须将添加到帐户的每个用户、组或 Azure AD 应用程序分配一个角色。 此过程在 设置帐户用户的角色或自定义权限中所述。 但是,请注意,对于 Windows 桌面应用程序程序,无法分配自定义权限或按产品限制访问。 相反,必须为每个用户分配以下标准角色之一。
角色 | 描述 |
---|---|
经理 | 可以上传和删除证书,并可以查看所有分析数据。 拥有帐户的完整访问权限,但更改财务信息除外。 这包括管理用户,但请注意,在 Azure AD 租户中创建和删除用户的能力取决于 Azure AD 中的帐户权限。 也就是说,如果用户分配了管理员角色,但在组织的 Azure AD 中没有全局管理员权限,他们将无法创建新用户或删除目录中的用户(尽管他们可以更改用户帐户角色)。 请注意,如果帐户与多个 Azure AD 租户相关联,则管理员无法查看用户的完整详细信息(包括名字、姓氏、密码恢复电子邮件以及他们是否是 Azure AD 全局管理员),除非他们登录到与具有该租户全局管理员权限的帐户相同的租户。 但是,他们可以在与帐户关联的任何租户中添加和删除用户。 |
开发 人员 | 可以查看与帐户关联的应用程序和证书详细信息,并可以查看 运行状况 和 安装 报告。 无法查看财务信息或帐户设置。 |
常见问题
- 为什么看不到应用程序的任何数据? 在检测到足够的用户收集有意义的信息之前,我们不会显示数据。 如果刚刚发布应用程序,可能需要一些时间才能达到此最低采用阈值。 可能看不到数据的另一个原因是,如果尚未使用特定应用程序的证书对文件进行签名。 请确保上传使用用于对应用程序进行签名的每个证书签名的文件。
- 是否可以通过 API 访问此数据? 是的,当程序可供所有开发人员使用时,将通过公共 API 提供数据。
- 使用旧证书的应用程序会怎么样? 遗憾的是,我们不支持提交已过期或吊销的证书,即使使用相同的密钥续订证书。
- 为什么看到无法识别的应用程序? 如果用于对应用程序中的文件进行签名的证书也由公司中的其他人用来对另一个应用程序进行签名,则也会看到该应用程序的遥测数据。 将来,我们将提供一个选项来隐藏仪表板中的应用程序。 如果公司帐户附加到 Azure AD 租户,可以请求管理员修改用户权限,以便只有特定应用程序对你可见。
- 如何提供有关体验的反馈或获取支持? 如果需要帮助,可以在此处 创建支持请求。 若要共享反馈,请使用 反馈 链接(在“帐户设置”下)并选择“Analytics” 区域,告知我们你的想法。