private static bool DownloadAndInstallPackage(string packageName, string packageUrl, string downloadPath) { bool ok = true; InstallPackage installPackage = new InstallPackage(); ok = DownloadFile(packageName, packageUrl, downloadPath); if (ok) { try { installPackage = installPackage.LoadFromXML(Path.Combine(downloadPath, packageName)); } catch { ok = false; } if (ok) { var downloadElements = installPackage.DownloadElementToArray(); foreach (var element in downloadElements) { ok = DownloadFile(element.FileName, Path.Combine(element.Url, element.Subdir), Path.Combine(downloadPath, element.Subdir)); if (!ok) { break; } } } } return(ok); }