Azure中Windows 10 Pro sysprep失败:Microsoft.BingSearch Appx错误0x80073cf2
Azure Windows 10 Pro 镜像制作Sysprep失败解决方案(保留Microsoft Store)
问题描述
在Azure中制作Windows 10 Pro通用镜像时,执行sysprep /generalize /oobe /shutdown失败,setupact.log报错:
SYSPRP Package Microsoft.BingSearch_xxx仅为单个用户安装,未面向所有用户预配。 移除当前用户应用失败:0x80073cf2 RemoveAllApps线程退出代码为0x3cf2
操作流程:
- 部署Azure Windows 10 Pro虚拟机
- 安装所需应用(含Microsoft Store及部分UWP应用)
- 配置自启动任务与服务
- 执行Sysprep准备镜像捕获
已尝试操作
- 使用PowerShell移除
AppxPackage - 移除
AppxProvisionedPackage - 清理用户配置文件(检查
Win32_UserProfile) - 未加入域,重启后重试无效
约束条件
- 必须保留Microsoft Store
- 使用Azure即用即付Windows 10 Pro版本,无法获取LTSC版
- 不切换至Windows Server版本
解决方案
一、修复当前Sysprep失败问题
1. 彻底清理单个用户的BingSearch包
打开管理员PowerShell,执行以下命令,确保所有用户的BingSearch包被卸载:
# 卸载当前登录用户的BingSearch包 Get-AppxPackage -Name *Microsoft.BingSearch* | Remove-AppxPackage -ErrorAction SilentlyContinue # 遍历并移除其他非系统用户的BingSearch包 Get-WmiObject -Class Win32_UserProfile | Where-Object { $_.LocalPath -notlike "*Default*" -and $_.LocalPath -notlike "*Administrator*" } | ForEach-Object { $userSID = $_.SID Get-AppxPackage -User $userSID -Name *Microsoft.BingSearch* | Remove-AppxPackage -User $userSID -ErrorAction SilentlyContinue }
2. 配置Sysprep排除特定应用(可选)
修改Sysprep的通用化配置文件,指定跳过BingSearch和Store的移除操作:
- 备份
C:\Windows\System32\Sysprep\ActionFiles\Generalize.xml文件 - 编辑原文件,找到
<RemoveAllApps>节点,添加排除项:<RemoveAllApps> <ExcludePackageName>Microsoft.BingSearch</ExcludePackageName> <ExcludePackageName>Microsoft.WindowsStore</ExcludePackageName> </RemoveAllApps> - 保存文件并关闭。
3. 使用VM模式执行Sysprep
打开管理员命令提示符,执行优化过的Sysprep命令:
sysprep /generalize /oobe /shutdown /mode:vm
/mode:vm参数专为虚拟机场景优化,会跳过部分不适合VM的系统操作,降低出错概率。
二、Azure Windows 10 Pro通用镜像制作可靠流程
1. 基础VM初始化
- 从Azure市场部署Windows 10 Pro即用即付VM,选择合适的实例大小。
- 部署完成后,安装所有Windows更新(含可选更新),完成后重启VM。
2. 应用与系统配置
- Win32应用:直接运行安装程序,确保安装至系统默认盘(C盘),避免用户目录依赖。
- UWP应用处理:
- 对于需要保留的UWP应用(含Microsoft Store),避免单个用户安装,采用系统预配方式部署:
# 示例:预配Microsoft Store(需提前获取对应版本的appx包文件) Add-AppxProvisionedPackage -Online -PackagePath "C:\Packages\Microsoft.WindowsStore_xxxx.appx" -SkipLicense - 预配后的应用将面向所有用户可用,不会触发Sysprep的单个用户包错误。
- 对于需要保留的UWP应用(含Microsoft Store),避免单个用户安装,采用系统预配方式部署:
- 自启动配置:使用任务计划程序或
sc命令配置系统级自启动任务/服务,避免绑定单个用户。
3. 预Sysprep清理
- 删除非必要用户配置文件:
Get-WmiObject -Class Win32_UserProfile | Where-Object { $_.LocalPath -notlike "*Default*" -and $_.LocalPath -notlike "*Administrator*" -and $_.Special -eq $false } | ForEach-Object { $_.Delete() } - 清理系统临时文件:执行
cleanmgr /sagerun:1自动完成磁盘清理。 - 临时关闭Windows Defender实时保护,避免干扰Sysprep进程。
4. 执行Sysprep与镜像捕获
- 确保仅本地管理员用户登录,关闭所有打开的应用程序。
- 执行Sysprep命令:
sysprep /generalize /oobe /shutdown /mode:vm - 等待VM自动关机后,在Azure门户中选择该VM,执行捕获操作,生成通用镜像。
内容的提问来源于stack exchange,提问作者Rohith Mani varma
相关产品推荐
相关产品推荐

