private void FetchExternalDependencies()
{
Program.LogEvent("Fetching external dependencies...");
List<DependencyResource> Dependencies = new List<DependencyResource>();
// Load the dependencies from the patch xml.
XDocument PatchDoc = XDocument.Load("patch.xml");
// Check for the files section.
if (PatchDoc.Root.Element("files") == null)
{
Program.LogEvent("ERROR: Malformed patch file! Files section missing. Skipping dependency checking.");
return;
}
List<XElement> elements = PatchDoc.Root.Element("files").Elements().ToList();
for (int i = 0; i < elements.Count; i++)
{
Dependencies.Add(new DependencyResource(elements[i]));
}
if (ADLResources.Count == 0)
{
Program.LogEvent(string.Format("WARNING: No external dependency records found."));
return;
}
Program.LogEvent(string.Format("Found {0} external dependencies.", ADLResources.Count));
// Upgrade dependencies.
string DownloadFolder = GetHomeSubfolder("staging\\client");
foreach (DependencyResource dependency in Dependencies)
{
dependency.Update(this, DownloadFolder);
}
}