You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Intune Graph API上传Windows Universal AppX依赖项

我之前帮团队处理过通过Graph API上传Windows Universal AppX及依赖项的需求,官方文档确实有些细节没讲透,下面是亲测可行的完整步骤和注意事项,应该能帮你搞定:

核心背景说明

首先要明确:Graph API中管理Windows应用的核心端点是/deviceAppManagement/mobileApps,AppX包属于windowsUniversalAppX类型的移动应用资源。依赖包需要作为独立的windowsUniversalAppX实体创建,再关联到主应用上,这样用户安装时才能自动拉取依赖。

具体操作步骤

1. 准备包文件

确保你已经准备好:

  • 主AppX包文件(比如MyApp_1.0.0.0_x64.appx)
  • 所有匹配架构、版本的依赖包(比如Microsoft.VCLibs.140.00_14.0.30704.0_x64__8wekyb3d8bbwe.appx)
  • 应用图标(可选,需base64编码)

2. 创建主应用的基础实体

发送POST请求到:

https://graph.microsoft.com/v1.0/deviceAppManagement/mobileApps

请求体(JSON格式):

{
  "@odata.type": "#microsoft.graph.windowsUniversalAppX",
  "displayName": "我的Universal应用",
  "description": "这是一个测试用的Windows Universal App",
  "publisher": "我的公司名称",
  "largeIcon": {
    "@odata.type": "microsoft.graph.mimeContent",
    "type": "image/png",
    "value": "这里替换成你的图标base64编码内容"
  },
  "isFeatured": false,
  "privacyInformationUrl": "https://your-domain.com/privacy",
  "informationUrl": "https://your-domain.com/app-info",
  "owner": "应用所有者",
  "developer": "开发团队",
  "notes": "首次上传测试",
  "uploadState": 0,
  "committedContentVersion": "",
  "fileName": "MyApp_1.0.0.0_x64.appx",
  "size": 12345678  // 替换成主包的实际字节大小
}

请求成功后,会返回主应用的id(一串GUID),这个ID是后续操作的核心标识。

3. 上传主AppX包内容

发送PUT请求到:

https://graph.microsoft.com/v1.0/deviceAppManagement/mobileApps/{主应用ID}/content/{主包文件名}/$value
  • 请求头设置:Content-Type: application/octet-stream
  • 请求体直接传入主AppX包的二进制内容

上传完成后,主应用的uploadState会自动变为1(已上传),你可以通过GET请求查询应用状态确认。

4. 创建并上传依赖包

重复步骤2和3,为每个依赖包创建独立的windowsUniversalAppX实体:

  • 注意依赖包的displayName要明确标识(比如“Microsoft VCLibs 14.0 x64 依赖包”)
  • 依赖包的fileName要和实际文件名一致
  • 每个依赖包都会生成自己的id,保存好这些ID

5. 关联依赖包到主应用

发送PATCH请求到:

https://graph.microsoft.com/v1.0/deviceAppManagement/mobileApps/{主应用ID}

请求体:

{
  "dependentApps@odata.bind": [
    "https://graph.microsoft.com/v1.0/deviceAppManagement/mobileApps/{依赖包ID1}",
    "https://graph.microsoft.com/v1.0/deviceAppManagement/mobileApps/{依赖包ID2}"
  ]
}

这个操作会把依赖包和主应用绑定,用户安装主应用时,系统会自动检查并安装所需依赖。

6. 提交应用完成上传

最后发送PATCH请求更新主应用的状态:

https://graph.microsoft.com/v1.0/deviceAppManagement/mobileApps/{主应用ID}

请求体:

{
  "uploadState": 2
}

uploadState=2代表已提交,此时应用就可以被用户搜索和安装了。

关键注意事项
  • 依赖匹配:依赖包的架构(x86/x64/ARM)、最低Windows版本必须和主包完全匹配,否则安装会失败
  • 权限要求:你的应用注册必须拥有DeviceManagementApps.ReadWrite.All权限,并且已获取有效的访问令牌
  • 大小限制:单个包文件不能超过4GB,超过的话需要使用分片上传(不过一般AppX包不会达到这个大小)
  • 状态验证:可以通过GET请求https://graph.microsoft.com/v1.0/deviceAppManagement/mobileApps/{应用ID}随时查看应用的上传状态、依赖关联情况

内容的提问来源于stack exchange,提问作者Shamsha Khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:30:48