private static int ProcessExportCommand(string[] args) { var isVerbose = args.Any(x => x.Equals("/V", StringComparison.OrdinalIgnoreCase)); var isQuiet = args.Any(x => x.Equals("/Q", StringComparison.OrdinalIgnoreCase)); var isUnattended = args.Any(x => x.Equals("/U", StringComparison.OrdinalIgnoreCase)); args = args.Where(x => !x.StartsWith("/")).ToArray(); if (args.Length != 1) { return(ShowInvalidSyntaxError("Missing export filename or invalid arguments")); } Console.WriteLine($"Starting export to {args[0]}"); var apps = QueryApps(isQuiet, isUnattended, isVerbose); Console.WriteLine("Exporting data..."); ApplicationEntrySerializer.SerializeApplicationEntries(args[0], apps); Console.WriteLine("Success!"); return(0); }
/// <summary> /// Returns false if export failed, else true. /// </summary> /// <param name="itemsToExport">What to export</param> /// <param name="filename">Full path with filename and extension to write the export result to.</param> /// <returns></returns> public static bool ExportUninstallers(IEnumerable <ApplicationUninstallerEntry> itemsToExport, string filename) { var applicationUninstallerEntries = itemsToExport as List <ApplicationUninstallerEntry> ?? itemsToExport.ToList(); if (applicationUninstallerEntries.Count <= 0) { return(false); } try { ApplicationEntrySerializer.SerializeApplicationEntries(filename, applicationUninstallerEntries); } catch (Exception ex) { MessageBoxes.ExportFailed(ex.Message, null); return(false); } return(true); }