EC2 Windows Sysprep 失败:Notepad++ AppX 包残留
2026/7/3大约 1 分钟
EC2 Windows Sysprep 失败:Notepad++ AppX 包残留
Windows 实例执行 Sysprep 制作 AMI 时失败,报错 0x80073cf2。原因是 Notepad++ 8.9+ 注册的 AppX 包残留,即使卸载桌面版也无法清除。
问题现象
三台 Windows 实例 sysprep 失败,日志 C:\Windows\System32\Sysprep\Panther\setuperr.log 显示:
Error SYSPRP Package NotepadPlusPlus_1.0.0.0_neutral__2247w0b46hfww was installed for a user, but not provisioned for all users.
Error SYSPRP Failed to remove apps for the current user: 0x80073cf2.客户已手动卸载 Notepad++ 桌面版,但 sysprep 仍然失败。
根因
Notepad++ 8.9 及更高版本会在系统中注册 AppX 包(NotepadPlusPlus_1.0.0.0_neutral__2247w0b46hfww)。仅卸载桌面版不会清除 AppX 包,导致 sysprep 无法移除该用户应用。
这是 Notepad++ 的已知问题(GitHub Issue #13775)。
解决过程
1. 卸载 AppX 包
# 卸载所有用户的 Notepad++ AppX 包
Get-AppxPackage -AllUsers *NotepadPlusPlus* | ForEach-Object {
Remove-AppxPackage -Package $_.PackageFullName -AllUsers -ErrorAction SilentlyContinue
}
# 移除预配置的 AppX 包
Get-AppxProvisionedPackage -Online | Where-Object {$_.DisplayName -like "*NotepadPlusPlus*"} |
Remove-AppxProvisionedPackage -Online2. 执行 Sysprep
使用 EC2Launch v2 执行 sysprep,采用默认设置即可。卸载 AppX 包后,sysprep 成功执行。
& "C:\Program Files\Amazon\EC2Launch\EC2Launch.exe" sysprep总结
- 仅卸载 Notepad++ 桌面版无法解决问题,必须清除 AppX 包
- 制作自定义 AMI 前避免安装 Notepad++ 8.9+ 版本,或提前验证 sysprep 兼容性
- sysprep 前创建 AMI 或快照备份
