Есть ли API для этого в .Net? Как насчет Windows API? Если нет, кто-нибудь еще придумал какой-нибудь хакерский способ сделать это?
Поиск папки локального хранилища приложения в стиле Windows 8
Путь к приложениям в стиле Windows 8 следующий:
C:\Users\{username}\AppData\Local\Packages\Microsoft.BingSports_8wekyb3d8bbwe
Существует новый Windows API, который использует внутренний и нераскрытый алгоритм для создания хэша издателя, который при добавлении к имени пакета становится фамилией. Фамилия выглядит как {packagename}_{publisherhash}
Если вам нужно другое настольное приложение или вам нужно поделиться этим между некоторыми наборами приложений, вы можете вызвать API через командлет PowerShell, например, так:
(Get-AppxPackage -AllUsers -Name $name).PackageFamilyName
Запишите это в реестр и вуаля! Ваше приложение может использовать Environment.UserName и приведенный выше шаблон пути, чтобы легко найти ваше локальное хранилище appx.
Других решений пока нет …