#c# #winapi #uwp #windows-10
#c# #winapi #uwp #windows-10
Вопрос:
Моя цель — найти и запустить приложение UWP по имени (например, Twitter). В настоящее время я использую расширение для рабочего стола с повышенными правами, следуя руководству Стефана Вика.
В моем консольном процессе Win32 с полным доверием я в настоящее время использую PackageManager для поиска и перечисления всех приложений UWP, и он работает на моем компьютере. Однако, когда я отправляю свой завершенный пакет приложений другому пользователю, на его экране ничего не появляется, даже после запуска с повышенными правами.
Вот мой текущий код:
var PkgMgr = new PackageManager();
var currUserPkgs = PkgMgr.FindPackagesForUser(string.Empty);
foreach (Package pkg in currUserPkgs)
{
string pkgName = pkg.DisplayName;
if (pkgName == "")
{
continue;
}
if (pkgName.Contains(appName) || appName.Contains(pkgName) ||
percentSimilarity(appName, pkgName) >= 0.50)
{
// we found it
appPkgName = pkg.Id.FamilyName;
break;
}
}
Почему при этом не отображаются какие-либо пакеты на компьютере другого пользователя? Сообщение об ошибке не вызывается.
Кроме того, есть ли другое решение, которое может найти все пакеты UWP? Спасибо!
Комментарии:
1. Что
PkgMgr.FindPackagesForUser(string.Empty)
возвращает?2. @mm8 он фактически извлекает все пакеты на моем компьютере, но когда я отправляю его другому пользователю, он ничего для них не извлекает. Это тоже даже как процесс с повышенным уровнем.