Пример #1
0
        public UwpFunc.AppInfo GetAppInfoByID(string appPackageID)
        {
            UwpFunc.AppInfo info = null;

            IEnumerable <Windows.ApplicationModel.Package> packages;

            try
            {
                packages = packageManager.FindPackages(appPackageID);
            }
            catch
            {
                return(null);
            }

            foreach (var package in packages)
            {
                info = GetInfo(package);
                if (info != null)
                {
                    break;
                }
            }

            return(info);
        }
Пример #2
0
        public UwpFunc.AppInfo GetAppInfoBySid(string sid)
        {
            UwpFunc.AppInfo info = null;
            AppInfosBySidLock.EnterReadLock();
            AppInfosBySid.TryGetValue(sid, out info);
            AppInfosBySidLock.ExitReadLock();
            if (info != null)
            {
                return(info);
            }

            string appPackageID = SidToAppPackage(sid);

            if (appPackageID == null || appPackageID.Length == 0)
            {
                return(null);
            }

            IEnumerable <Windows.ApplicationModel.Package> packages;

            try
            {
                packages = packageManager.FindPackages(appPackageID);
            }
            catch
            {
                return(null);
            }

            foreach (var package in packages)
            {
                info = GetInfo(package, sid);
                if (info != null)
                {
                    AppInfosBySidLock.EnterWriteLock();
                    if (!AppInfosBySid.ContainsKey(sid))
                    {
                        AppInfosBySid.Add(sid, info);
                    }
                    AppInfosBySidLock.ExitWriteLock();
                    break;
                }
            }

            return(info);
        }
Пример #3
0
        public static void GetPackages()
        {
            Windows.Management.Deployment.PackageManager packageManager = new Windows.Management.Deployment.PackageManager();

            try
            {
                IEnumerable <Windows.ApplicationModel.Package> packages = (IEnumerable <Windows.ApplicationModel.Package>)packageManager.FindPackages();

                int packageCount = 0;
                foreach (var package in packages)
                {
                    DisplayPackageInfo(package);
                    //DisplayPackageUsers(packageManager, package);

                    Console.WriteLine();
                    packageCount += 1;
                }

                if (packageCount < 1)
                {
                    Console.WriteLine("No packages were found.");
                }
            }
            catch (UnauthorizedAccessException)
            {
                Console.WriteLine("packageManager.FindPackages() failed because access was denied. This program must be run from an elevated command prompt.");

                return;
            }
            //catch (Exception ex)
            //{
            //	Console.WriteLine("packageManager.FindPackages() failed, error message: {0}", ex.Message);
            //	Console.WriteLine("Full Stacktrace: {0}", ex.ToString());

            //	return;
            //}
        }