public static Application[] All() { var windows10 = new Version(10, 0); var support = Environment.OSVersion.Version.Major >= windows10.Major; if (support) { var applications = CurrentUserPackages().AsParallel().SelectMany(p => { UWP u; try { u = new UWP(p); } catch (Exception e) { e.Data.Add(nameof(p.Id.FullName), p.Id.FullName); Logger.WoxError($"Cannot parse UWP {p.Id.FullName}", e); return(new Application[] { }); } return(u.Apps); }).ToArray(); return(applications); } else { return(new Application[] { }); } }
public static Application[] All() { var windows10 = new Version(10, 0); var support = Environment.OSVersion.Version.Major >= windows10.Major; if (support) { var applications = CurrentUserPackages().AsParallel().SelectMany(p => { UWP u; try { u = new UWP(p); } catch (Exception e) { Log.Exception($"|UWP.All|Can't convert Package to UWP for <{p.Id.FullName}>:", e); return(new Application[] { }); } return(u.Apps); }).ToArray(); return(applications); } else { return(new Application[] { }); } }
public static Application[] All() { var windows10 = new Version(10, 0); var support = Environment.OSVersion.Version.Major >= windows10.Major; if (support) { ConcurrentBag <Application> bag = new ConcurrentBag <Application>(); Parallel.ForEach(CurrentUserPackages(), (p, state) => { UWP u; try { u = new UWP(p); foreach (var a in u.Apps) { bag.Add(a); } } catch (Exception e) { e.Data.Add(nameof(p.Id.FullName), p.Id.FullName); Logger.WoxError($"Cannot parse UWP {p.Id.FullName}", e, false, true); } } ); return(bag.ToArray()); } else { return(new Application[] { }); } }
public static Application[] All() { var windows10 = new Version(10, 0); var support = Environment.OSVersion.Version.Major >= windows10.Major; if (support) { var application = CurrentUserPackages().AsParallel().SelectMany(p => { try { var u = new UWP(p); return(u.Apps); } catch (Exception e) { // if there are errors, just ignore it and continue var message = $"Can't parse {p.Id.Name}: {e.Message}"; Log.Error(message); return(new Application[] { }); } }); return(application.ToArray()); } else { return(new Application[] { }); } }
public Application(UWP package, string userModelID, string fullName, string name, string displayname, string description, string logoUri, string backgroundColor) { UserModelId = userModelID; Enabled = true; Package = package; DisplayName = ResourcesFromPri(fullName, name, displayname); Description = ResourcesFromPri(fullName, name, description); LogoPath = PathFromUri(fullName, name, Location, logoUri); BackgroundColor = backgroundColor; }
public Application(IAppxManifestApplication manifestApp, UWP package) { UserModelId = manifestApp.GetAppUserModelId(); DisplayName = manifestApp.GetStringValue("DisplayName"); Description = manifestApp.GetStringValue("Description"); BackgroundColor = manifestApp.GetStringValue("BackgroundColor"); Package = package; DisplayName = ResourceFromPri(package.FullName, DisplayName); Description = ResourceFromPri(package.FullName, Description); LogoUri = LogoUriFromManifest(manifestApp); LogoPath = LogoPathFromUri(LogoUri); }
public Application(IAppxManifestApplication manifestApp, UWP package) { UserModelId = manifestApp.GetAppUserModelId(); UniqueIdentifier = manifestApp.GetAppUserModelId(); DisplayName = manifestApp.GetStringValue("DisplayName"); Description = manifestApp.GetStringValue("Description"); BackgroundColor = manifestApp.GetStringValue("BackgroundColor"); Package = package; DisplayName = ResourcesFromPri(package.FullName, package.Name, DisplayName); Description = ResourcesFromPri(package.FullName, package.Name, Description); LogoUri = LogoUriFromManifest(manifestApp); LogoPath = FilesFromPri(package.FullName, package.Name, LogoUri); Enabled = true; }
public static List <UWP> PackageFoldersFromRegistry() { var activable = new HashSet <string>(); var activableReg = @"Software\Classes\ActivatableClasses\Package"; var activableRegSubKey = Registry.CurrentUser.OpenSubKey(activableReg); foreach (var name in activableRegSubKey.GetSubKeyNames()) { activable.Add(name); } var packages = new List <UWP>(); var packageReg = @"Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\Repository\Packages"; var packageRegSubKey = Registry.CurrentUser.OpenSubKey(packageReg); foreach (var name in packageRegSubKey.GetSubKeyNames()) { var packageKey = packageRegSubKey.OpenSubKey(name); var framework = packageKey.GetValue("Framework"); if (framework != null) { if ((int)framework == 1) { continue; } } var valueFolder = packageKey.GetValue("PackageRootFolder"); var valueID = packageKey.GetValue("PackageID"); if (valueID != null && valueFolder != null && activable.Contains(valueID)) { var location = (string)valueFolder; var id = (string)valueID; var uwp = new UWP(id, location); packages.Add(uwp); } } // only exception windows.immersivecontrolpanel_10.0.2.1000_neutral_neutral_cw5n1h2txyewy var settingsID = activable.First(a => a.StartsWith("windows.immersivecontrolpanel")); var settingsLocation = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Windows), "ImmersiveControlPanel"); var settings = new UWP(settingsID, settingsLocation); packages.Add(settings); return(packages); }
public static Application[] All() { var windows10 = new Version(10, 0); var support = Environment.OSVersion.Version.Major >= windows10.Major; if (support) { var applications = CurrentUserPackages().AsParallel().SelectMany(p => { UWP u; try { u = new UWP(p); } #if !DEBUG catch (Exception e) { ProgramLogger.LogException($"|UWP|All|{p.InstalledLocation}|An unexpected error occured and " + $"unable to convert Package to UWP for {p.Id.FullName}", e); return(new Application[] { }); } #endif #if DEBUG //make developer aware and implement handling catch { throw; } #endif return(u.Apps); }).ToArray(); var updatedListWithoutDisabledApps = applications .Where(t1 => !Main._settings.DisabledProgramSources .Any(x => x.UniqueIdentifier == t1.UniqueIdentifier)) .Select(x => x); return(updatedListWithoutDisabledApps.ToArray()); } else { return(new Application[] { }); } }