Где в Windows 8 «кеш пакетов» для приложений магазина?

15797
Earlz

Я хотел бы возиться с несколькими приложениями в Магазине Windows. Единственная проблема заключается в том, что я не знаю, как получить .appxфайл в формате пакета Windows 8.

Я знаю, что он должен сохранять свои пакеты где-то перед их установкой. Где они находятся, или как я могу загрузить .appxфайлы непосредственно из Магазина Windows без установки?

11

1 ответ на вопрос

11
Bob

appxФайл заканчивается внутри C:\Windows\SoftwareDistribution\Download\<HashCorrespondingToApp>\. Мои тесты показывают несколько файлов без очевидного способа их объединения, хотя самый большой из них может быть распакован как appxфайл - я этого не пробовал.

Вероятно, проще получить файлы непосредственно с веб-сайта Microsoft. Для этого я использовал Fiddler для перехвата запросов на загрузку из Магазина Windows, чтобы выяснить URL-адрес загрузки. Обратите внимание, что если приложение было загружено / установлено ранее, оно не будет загружено снова. Вы можете попробовать удалить папку, описанную выше, но будьте осторожны и делайте это на свой страх и риск - я этого не проверял.

  1. Скачайте и установите Fiddler4

  2. Загрузите и установите утилиту EnableLoopback (см. Здесь для получения дополнительной информации), чтобы включить захват трафика приложения Modern UI

  3. В инструменте EnableLoopback отметьте Storeи нажмитеSave Changes

    Screenshot of EnableLoopback tool
    Нажмите для полного размера

  4. Запустите Fiddler. Возможно, вы захотите прекратить захват ( File=> снимите флажок Capture Traffic), пока не будете готовы установить приложение, а затем остановитесь сразу после этого, чтобы уменьшить беспорядок. Убедитесь, что вы захватываете, прежде чем нажать Установить. Возможно, вы захотите проверить, загрузив страницу магазина и посмотрев, зафиксировано ли что-нибудь.

  5. Нажмите Установить на странице приложения в Магазине.

  6. Как вы можете видеть на скриншоте, слева у нас есть загрузчик Microsoft BITS, загружающий файл, ну, в несколько раз. Нажмите на один из запросов и посмотрите на вкладку Inspectors=> Headersсправа. Вы должны увидеть строку запроса, начинающуюся с HEAD или GET (щелкните внутри, чтобы обернуть), и с путем, заканчивающимся .appx, вероятно, за которым следует строка запроса (начинающаяся с знака вопроса, ?). Вам нужна подсвеченная часть (т.е. сразу после HEAD или GET и до HTTP / 1.1).

    Вам также нужно Host, в этом случае aq.v4.a.dl.ws.microsoft.com. Объедините их следующим образом: aq.v4.a.dl.ws.microsoft.com/dl/content/b/6/updt/2012/08/21<snip>826.appx?P1=13<snip>%3d(я обрезал некоторые части, так как уверен, что ссылка для скачивания связана с вашей учетной записью Microsoft). Затем вы можете использовать ваш любимый веб-браузер для загрузки файла. Обратите внимание, что ссылка действует только в течение ограниченного времени, поэтому не беспокойтесь о ее сохранении.

    Screenshot of Fiddler
    Нажмите для полного размера

Вот это да. Это то же самое, что я сделал (я просто никогда не вернулся и ответил на это). Кроме того, вы можете модифицировать пакеты и переназначить их для установки с боковой загрузкой, выполнив что-то похожее на это: http://stackoverflow.com/a/12572211/69742 Earlz 12 лет назад 0
Боб, можете ли вы сказать мне, работает ли это для всех приложений, так как более крупные приложения занимают много времени, чтобы получить ссылки, и многие приложения начинают загружаться, но ссылка не появляется. Кроме того, у меня много трудностей с загрузкой зависимостей, так как они загружаются не так часто, так как многие приложения, которые я загружаю, бесполезны, поскольку у них нет зависимостей. А также ссылки, которые можно получить, могут быть загружены только через менеджеры загрузки (я использую IDM, не знаю, как другие) Hunter 10 лет назад 0
но не могут быть загружены никаким браузером, и они выдают ошибку 403.1 запрещенную или запрещенную к доступу и не работают. Hunter 10 лет назад 0
Убедитесь, что у вас нет HTTP / 1.1 в конце вашей ссылки appx 10 лет назад 0