When attempting to deploy a virtual machine from an OVF/OVA template stored in the Content Library, the task fails with the following error message: Issues detected with selected template. Details: - 1:1:PARSE_ERROR: Parse error: Unexpected character '' (code 65533 / 0xfffd) in prolog; expected '<' at [row,col,system-id]: [1,1,"descriptor.ovf"]
Running the # file command shows (with BOM):
# file template.ovftemplate.ovf: XML 1.0 document, UTF-8 Unicode (with BOM) text, with very long lines, with CRLF line terminators
VMware vCenter Server 7.x, 8.x, 9.x
This issue is caused by an invalid character at the very beginning of the OVF descriptor file, typically a Byte Order Mark (BOM).
The vCenter Server XML parser requires the OVF file to start exactly with the < character of the XML declaration. If the .ovf file is opened and saved using standard Windows text editors (such as Notepad or WordPad) or modified via certain scripts, a hidden BOM is often injected. vCenter interprets this hidden mark as the Unicode replacement character 0xfffd, which invalidates the XML prolog.
To resolve this issue, you must strip the Byte Order Mark from the OVF descriptor and address the resulting manifest mismatch.
.ovf file.Modifying the .ovf file changes its cryptographic hash, which will cause a manifest mismatch error during the next import attempt. Choose one of the following options:
.mf file from the OVF bundle. vCenter will skip the checksum validation during import and deploy the template successfully..ovf file (using Get-FileHash in PowerShell) and update the corresponding hash string inside the .mf file..ovf (and updated .mf, if applicable) along with the VMDK files to the Content Library.