/// <summary> /// Run Setup. /// </summary> /// <returns>Exit Code</returns> public int Execute() { // Download all files. ServiceManager.Services.LogService.WriteSubHeader("Downloading Files"); if (Downloads != null) { Downloads.DownloadAllFiles(); if (Downloads.Count > 0) { ServiceManager.Services.LogService.WriteSubHeader("All Downloads Complete"); } else { ServiceManager.Services.LogService.WriteLine("No downloads required."); } } else { ServiceManager.Services.LogService.WriteLine("No downloads required."); } // Execute all scripts. ServiceManager.Services.LogService.WriteHeader("Executing Scripts"); if (Scripts != null) { if (Scripts.Count > 0) { Scripts.Execute(); ServiceManager.Services.LogService.WriteSubHeader("All scripts complete"); } else { ServiceManager.Services.LogService.WriteLine("No scripts found."); } } else { ServiceManager.Services.LogService.WriteLine("No scripts found."); } // Check script junkie exit code. ServiceManager.Services.LogService.WriteHeader("Determining Script Junkie Exit Code"); if (this.Scripts.Any(i => !i.Results.IsSuccess)) { ServiceManager.Services.LogService.WriteLine("Exit 1"); return(1); } ServiceManager.Services.LogService.WriteLine("Exit 0"); return(0); }