private EnvelopeType GetOvfEnvelope(out string error) { error = string.Empty; string path = m_textBoxFile.Text; string extension = Path.GetExtension(path).ToLower(); if (extension == ".ovf") { EnvelopeType env = null; try { env = OVF.Load(path); } catch (OutOfMemoryException ex) { log.ErrorFormat("Failed to load OVF {0} as we ran out of memory: {1}", path, ex.Message); env = null; } if (env == null) { error = Messages.INVALID_OVF; return(null); } return(env); } if (extension == ".ova") { if (!CheckSourceIsWritable(out error)) { return(null); } try { string x = OVF.ExtractOVFXml(path); var env = Tools.DeserializeOvfXml(x); if (env == null) { error = Messages.IMPORT_SELECT_APPLIANCE_PAGE_ERROR_CORRUPT_OVA; return(null); } return(env); } catch (Exception) { error = Messages.IMPORT_SELECT_APPLIANCE_PAGE_ERROR_CORRUPT_OVA; return(null); } } return(null); }