Я продолжаю сталкиваться с этой проблемой, когда пытаюсь отладить свои приложения для Windows 8, и в другой учетной записи пользователя уже установлена копия:
DEP0700: Ошибка регистрации приложения. Другой пользователь уже установил упакованную версию этого приложения. Неупакованная версия не может заменить это. Конфликтующий пакет: >>, он был опубликован CN = >>. (0x80073cf9)
Иногда я могу просто войти в систему или попросить кого-нибудь войти в систему и удалить приложение. В качестве альтернативы я могу изменить имя / идентификатор приложения, но одно не всегда возможно, а другое рискованно (я не хочу проверять измененный идентификатор приложения в системе управления версиями).
Должен быть способ удалить его. Может быть, сценарий PowerShell?
Filip Skakun 13 Дек 2012 в 22:15
Чтобы добавить к моей проблеме — прямо сейчас я попросил другого парня удалить приложение, но похоже, что двоичные файлы застряли в Program Files, и я не могу удалить файлы даже после изменения прав доступа к папке / файлу и стать их владельцем. Вероятно, что-то о Windows, защищающей эту папку от хакеров.
Как удалить учетную запись Windows 10 (Документы и все Файлы пользователя) — 3 СПОСОБА!
Filip Skakun
13 Дек 2012 в 23:15
Ознакомьтесь здесь с тем, что Microsoft рекомендует для вашей проблемы. Основная причина заключается в том, что срок действия вашей лицензии разработчика может истечь, ознакомьтесь с другими причинами здесь social.msdn.microsoft.com/Forums/en-US/toolsforwinapps/thread/…
user1542476
14 Дек 2012 в 11:24
Я сообщил об этой проблеме в Microsoft Connect, надеюсь, MS предоставит способ как-то это исправить. Не стесняйтесь голосовать за него: connect.microsoft.com/VisualStudio/feedback/details/816102/…
Martin Suchan
30 Янв 2014 в 12:43
Я отметил, что проблема, о которой сообщалось в Microsoft Connect, не была на 100% проблемой. Я разместил новую проблему на Connect, которая лучше описывает этот вопрос. Чем больше голосов, тем больше шансов, что MS это исправит. connect.microsoft. com/VisualStudio/feedbackdetail/view/934709/…
28 Авг 2014 в 22:28
15 ответов
Лучший ответ
Мой процесс, описанный выше, все еще работает, но он просто обходит проблему состояния гонки, когда Центр обновления Windows (да, как ни странно) отвечает за уничтожение «поэтапных пакетов».
Согласно Microsoft,» другое исправление «- и я по-прежнему считаю эту проблему быть жучком — это:
- Поэтапные пакеты не позволяют вам установить этот конкретный пакет в режиме разработки
- Поэтапные пакеты занимают некоторое место на диске, но из-за жестких ссылок эффект от этого смягчается. Если файл идентичен между несколькими версии пакета, развертывание appx жестко связывает файлы вместо сохранение двух отдельных копий одного и того же файла.
- В командной строке PowerShell администратора введите команду: get-appxpackage -all
get-appxpackage -all |% >
- Загрузить psexec из инструментов sysinternals, написанный Марком Руссиновичем
- Чтобы избавиться от них всех, запустите обычную административную строку или командную строку с повышенными привилегиями (не PowerShell):
longneck 4 Янв 2018 в 01:10
Чтобы удалить только один пакет, вызывающий проблему, используйте следующую строку: psexec -s powershell -c «Get-AppxPackage -all | где имя -eq «APP.NAME » | Удалить-AppxPackage»
КАК в WINDOWS 10 УДАЛЯТЬ ПРОГРАММЫ ПРАВИЛЬНО И ПОЛНОСТЬЮ?
Irae Carvalho
1 Апр 2013 в 23:42
Psexec недоступен для WinRT >:(
thumbmunkeys
2 Окт 2013 в 13:40
К сожалению, это не работает в Windows 8.1. При запуске из командной строки администратора я получаю эту ошибку: Windows не может удалить 8eeaff03-92dd-46c9-84fc-7b252f93800b_1.0.0.0_neutral__9pm8dksvrxpey, поскольку у текущего пользователя не установлен этот пакет. Используйте Get-AppxPackage, чтобы просмотреть список установленных пакетов.
26 Дек 2013 в 03:46
Мне пришлось перезагрузить компьютер после выполнения команды PS, чтобы решить проблему. Это машина W8.1.
16 Янв 2014 в 21:09
На 8.1 у меня перезагрузка не решила проблему. Этот ответ больше не следует помечать как правильный, поскольку он, к сожалению, больше не применим к большинству случаев.
14 Мар 2014 в 20:49
В Windows 10 1709 было улучшено выполнение командлета remove-appxpackage, добавлено -allusers в качестве опции.
Итак, чтобы удалить приложение для всех пользователей, работает эта команда:
Get-AppxPackage -AllUsers [PackageFamilyName] | Remove-AppxPackage -AllUsers
Где [PackageFamilyName] — это обычно GUID вашего пакета.
Предостережение / предостережение: эта команда, похоже, значительно усложняет повторную установку (повторную инициализацию пакета с помощью DISM) позже, поскольку, похоже, обрабатывается так, как если бы каждый пользователь индивидуально удалил приложение. Слишком много, чтобы здесь вдаваться .
zax 22 Июн 2018 в 01:37
К вашему сведению, эта проблема возникает из-за того, что в Windows 10 есть ошибка, из-за которой «сброс» приложения удаляет его, но не удаляет должным образом. Мое приложение сломалось, когда я зашел в настройки приложения и нажал «Сброс».
Christian Findlay
1 Июл 2018 в 06:16
12 Мар 2019 в 00:09
Если это не сработает, вы также можете попробовать следующее, которое сработало для меня. Обратите внимание, что это для моей машины разработчика, а не машины обычного пользователя, поэтому я не знаю, как это повлияет на пользователей, не являющихся разработчиками 😛
- Станьте владельцем папок c: Program Files WindowsApps и C: ProgramData Microsoft Windows AppRepository, предоставив администратору полный доступ. Убедитесь, что у TrustedInstaller также есть права на изменение. Вы также становитесь владельцем. Если вы не подозреваете, это делается через Свойства в этой папке.
- Перейдите в раздел «Службы» и остановите службу установщика Windows.
- Откройте C: ProgramData Microsoft Windows AppRepository и удалите файл PackageRepository.edb.
- Снова запустите службу установщика Windows.
- Запустите Visual Studio от имени администратора.
- Попытайтесь запустить ваше приложение. Он должен работать.
После запуска приложения вы снова сможете запустить VS в пользовательском режиме.
Auri Rahimzadeh 15 Янв 2013 в 19:14
Помогли мне решить эту странную проблему. Не было других пользователей на ПК
Alex Sorokoletov
17 Янв 2013 в 18:00
У меня есть открытое дело с Microsoft по этому поводу. До сих пор мы проследили, что это проблема Visual Studio, поскольку запуск сценария Powershell для установки приложения работает нормально. Я обновлю эту тему, когда у нас будет решение.
Auri Rahimzadeh
17 Янв 2013 в 23:58
Буквально сегодня столкнулся с этой проблемой на другом поверхностном устройстве. Несколько пользователей, одно устройство, одно и то же приложение для каждого пользователя. Аспейн.
Alex Sorokoletov
28 Янв 2013 в 03:17
Удаление PackageRepository.edb предотвращает установку вещей, которые имеют зависимости. Не похоже, чтобы восстановить базу данных. Даже после нескольких перезагрузок Get-AppxPackage -all не возвращает пакетов.
3 Сен 2013 в 22:03
Не удалось остановить AppXSVC, чтобы удалить файл edb.
16 Янв 2014 в 20:38
Временное решение :
Если у вас ничего не работает (для меня это тоже не помогло), вы можете просто изменить имя пакета в манифесте приложения (просто замените последние несколько символов другими символами). После этого у вас больше не будет конфликтующих пакетов.
Изменение имени пакета может не подходить для некоторых сценариев, но вы всегда можете сделать резервную копию и изменить ее обратно, когда закончите отладку на своем проблемном устройстве .
hendrix 22 Сен 2017 в 00:28
Для меня это было спасением. Однажды ночью я работал над этим часами и, наконец, сдался. Я только что снова столкнулся с этой проблемой, и для моих непосредственных целей тестирования это идеально! Спасибо, Хендрикс!
Jason Anderson
4 Ноя 2014 в 20:27
Если вы хотите удалить приложение для текущего пользователя, попробуйте:
Get-AppxPackage | where name -eq «APP.NAME» | Remove-AppxPackage
Мне это помогло. Итак, есть Get-AppxPackage без -all
Morse 13 Июн 2018 в 22:49
Профессиональный совет: выполните поиск с помощью -like и используйте подстановочные знаки, чтобы найти имя: Get-AppxPackage -all | Where Name -like «*P.NA*» Но очень хорошо сделано; Благодарю. Единственная проблема, с которой я столкнулся, заключалась в том, что пользователь по-прежнему не мог удалить загруженное приложение (хотя оно отображалось с Get-AppxPackage ), и мне приходилось «переустанавливать» с помощью сценария AppPackage Add-AppDevPackage.ps1 , чтобы в конечном итоге получить его вести себя.
8 Дек 2016 в 00:58
Это сработало для меня после выполнения Get-AppxPackage -AllUsers
12 Мар 2018 в 18:43
В Windows 10:
Во-первых, вам понадобится редактор базы данных SQL, например SqliteBrowser3.
- Проделайте эту манипуляцию как системный пользователь (используйте psexec или другое)
- Сделайте копию C:ProgramDataMicrosoftWindowsAppRepositoryStateRepository-Machine.srd
- Откройте эту копию с помощью SqliteBrowser3
- Вам нужно будет отредактировать таблицы «пакет», «packageuser» и «user». Для этого вам нужно будет записать идентификатор пользователя-призрак из таблицы «user», а затем удалить его. Затем удалите записи с призрачным идентификатором пользователя в столбце user из таблицы packageuser.
- убить tasklist /svc /fi «services eq StateRepository»
- заменить исходный StateRepository-Machine.srd после резервного копирования.
- перезагрузитесь, а затем вы сможете удалить свой пакет в обычном режиме
Примечание: вам нужно оставить свою собственную запись пользователя, назначенную пакету
Dr. Xperience 9 Окт 2017 в 05:57
Браузер SqlLite не может открыть копию StateReposity-Machine.srd
Dr. Xperience
8 Окт 2017 в 12:58
Я понял это.
Dr.
Xperience
8 Окт 2017 в 14:06
Я использовал этот замечательный учебник для выполнения процедуры. Теперь давайте посмотрим.
Dr. Xperience
8 Окт 2017 в 14:47
Имена таблиц обновления: package , packageuser и user соответственно.
Dr. Xperience
8 Окт 2017 в 17:33
Пришлось сделать следующее:
get-appxpackage -all > log.txt notepad log.txt (search for the offending PackageFullName) remove-appxpackage -allusers -package «PackageFullName»
Ключевым моментом для меня было добавить флаг -allusers , поскольку без него я получил «. потому что у текущего пользователя этот пакет не установлен. Используйте Get-AppxPackage, чтобы увидеть список установленных пакетов. «ошибка.
Francois Nadeau 4 Сен 2018 в 19:08
Существует набор командлетов PowerShell для управления приложениями Магазина Windows. Вы можете вывести список установленных приложений на машине для всех пользователей, если вы выполните следующую команду от имени администратора:
Get-AppxPackage -AllUsers
Однако я не нашел способа удалить приложение для другого пользователя. Remove-AppxPackage работает только для текущего пользователя. Это делает все еще интереснее, если вы удалите пользователя, у которого установлены приложения. По крайней мере, в предварительных версиях Windows 8 это делало невозможным удаление установленного им приложения.
Мне удалось успешно избежать такой ситуации с момента окончательного выпуска, поэтому я не могу подтвердить, что проблема все еще существует, т.е.приложения не удаляются при удалении учетной записи пользователя.
Damir Arh 15 Дек 2012 в 09:42
Ну, я слышал, что есть проблемы, когда удаление учетной записи пользователя не позволяет удалить все приложения, установленные для этого пользователя, из списка. Я не уверен, сделал ли я это, но теперь у меня есть приложение, которое я не могу установить на 2 из 3 планшетов, которые у меня есть на работе, потому что, хотя приложение не установлено ни у одного пользователя, оно все еще утверждает, что оно есть, и получить -AppxPackage -AllUsers показывает его в списке. Я могу установить его из магазина, но не из Visual Studio. Я думаю, что другие приложения устанавливаются нормально, поэтому проблема не в лицензии разработчика. Я проверю это снова, хотя в следующий раз я посмотрю на это.
Filip Skakun
11 Янв 2013 в 02:31
Я могу подтвердить, что даже в Windows 8.1 я не нашел способа удалить приложение из уже удаленной учетной записи. Все еще исследую.
Martin Suchan
28 Янв 2014 в 18:00
В Windows Powershell в режиме администратора запустите:
get-appxpackage -all | where name -eq «>» | remove-appxpackage
kdazzle 30 Ноя 2016 в 19:42
Забавно, что вы только что опубликовали это, поскольку я снова искал ответ. 🙂 По крайней мере, на ТХ2 это не работает, к сожалению. При первом запуске он удаляется для текущего пользователя, но остается для другого. Затем при повторном запуске вы получите: get-appxpackage -all | где имя -eq «Microsoft.WindowsSoundRecorder» | Remove-AppxPackage Remove-AppxPackage: сбой развертывания с HRESULT: 0x80073CF1, пакет не найден. Windows не может удалить Microsoft.WindowsSoundRecorder_10.1611.3051.0_x64__8wekyb3d8bbwe, поскольку у текущего пользователя не установлен этот пакет. .
Filip Skakun
30 Ноя 2016 в 22:47
О, облом, возможно, вы правы — это может быть плохой ответ. Я запускал powershell как один пользователь, но дал ему права администратора с учетными данными другого пользователя. И этот пользователь-администратор — тот, у которого я удалял приложение. Так что это может быть источником моего замешательства.
1 Дек 2016 в 18:56
Хотя это не сработало для меня, это может сработать для кого-то другого .
Запустите powershell от имени администратора и запустите:
Get-AppxPackage -all | Out-GridView -Passthru | Remove-AppXPackage
Затем ВЫБЕРИТЕ нужный пакет и ОК , надеюсь, он будет удален.
Jawid Hassim 1 Ноя 2017 в 10:02
Что сработало для меня
1. Close VS 2. Open Services 3. Stop Appx Deployment Service 4. Open C:ProgramDataMicrosoftWindowsAppRepository and delete the PackageRepository.edb file. 5. Start Appx Deployment Service 6. Start VS PackageName» | remove-appxpackage -AllUsers в Win 10 v1903 после того, как попробовал много других вариантов, и это сработало.
Впоследствии я проверил наличие пакета, и его не было.
Marc George 10 Окт 2019 в 04:14
Вы действительно можете просто сделать что-то вроде Get-AppxPackage -a *ageNam* | Remove-AppxPackage -a , чтобы удалить пакет на основе подстроки имени для всех пользователей, даже без части where . Вам все еще может понадобиться psexec и т. д. для удаления/удаления файлов, если ваше приложение каким-то образом зависло, и только системная учетная запись может его удалить.
Filip Skakun
14 Окт 2019 в 03:11
Если все остальное терпит неудачу, и вы в отчаянии, как это было в моем случае (потому что пользователь был удален), это немного опасно, но у меня это сработало.
ДЕЛАЙТЕ НА СВОЙ РИСК! Я знал, что мой пользователь был последним пользователем, созданным на машине.
Этот ответ представляет собой комбинацию ответа Аури Рахимзаде выше на TAKEOWN и ответа intika, в котором вы изменяете StateRepository-Machine.srd с помощью ‘DB Browser For SQLite’ (загружено здесь: Браузер БД для SQLite 3), единственная разница в том, что я редактировал только одно: В PackageUser я изменил значение User 3 (который был идентификатором предыдущего удаленного пользователя) на 4 ( Это я, последний созданный Пользователь)
ОБЯЗАТЕЛЬНО ПРОСМОТРЕТЬ таблицу User И УЗНАТЬ, КАКИЕ ЗНАЧЕНИЯ РАБОТАЮТ В ВАШЕМ СЛУЧАЕ!
Jawid Hassim 7 Ноя 2017 в 12:05
В моем случае мне нужно было использовать: Get-AppxProvisionedPackage -online в отличие от Get-AppxPackage , а затем, соответственно, используйте Remove-AppxProvisionedPackage -PackageName YourPackageNameHere -Online -AllUsers
CasualCoder 5 Авг 2021 в 15:04
Я думаю, что это для предустановленных приложений, которые поставляются с ОС, и должно быть Get-ProvisionedAppxPackage .
Filip Skakun
20 Сен 2021 в 20:18
Это сработало для меня.
- Откройте Powershell от имени администратора.
- Выполните эту команду (с именем вашего пакета и пользователем, у которого он установлен)
Get-AppxPackage -Name «MyPackageBlah» -Пользователь «blahdy»
- Скопируйте значение из PackageFullName в выходные данные.
Имя : MyPackageBlah
Издатель: CN=BLAH
Архитектура: X64
Идентификатор ресурса :
Версия : 1.0.34.0
PackageFullName: MyPackageBlah_1.0.34.0_x64__ww4kfnnrsedz6
Исфреймворк : Ложь
PackageFamilyName : MyPackageBlah_ww4kfnnrsedz6
Идентификатор издателя: ww4kfnnrsedz6
IsResourcePackage : False
IsBundle : False
IsDevelopmentMode : False
Неудаляемый: False
Зависимости: Microsoft.NET.Native.Framework.2.2_2.2.29512.0_x64__8wekyb3d8bbwe,
Microsoft.NET.Native.Runtime.2.2_2.2.28604.0_x64__8wekyb3d8bbwe,
Microsoft.VCLibs.140.00_14.0.30035.0_x64__8wekyb3d8bbwe>
IsPartiallyStaged : False
Тип подписи: разработчик
Статус: Ок
- Выполните эту команду
Remove-AppxPackage -Пакет «MyPackageBlah_1.0.34.0_x64__ww4kfnnrsedz6» -AllUsers
Теперь вы можете запустить свое приложение в Visual Studio.
Gregory Bologna 14 Авг 2021 в 23:25
Вы также можете использовать Get-AppxPackage -Name «MyPackageBlah» -A , чтобы проверить приложение на AllUsers , и Get-AppxPackage -Name «MyPackageBlah» -A | Remove-AppxPackage -A , чтобы удалить его за один раз. Это все в основном то же самое, что и ответ Марка.
Источник: question-it.com
Как удалить приложение, которое установил другой пользователь?
Я постоянно сталкиваюсь с этой проблемой, когда пытаюсь отладить свои приложения для Windows 8, а их копия уже установлена в другой учетной записи пользователя:
DEP0700 : Регистрация приложения не удалась. Другой пользователь уже установил упакованную версию этого приложения. Неупакованная версия не может его заменить. Конфликтующим пакетом является >, и он был опубликован CN=>. (0x80073cf9)
Иногда я могу просто войти в систему или попросить кого-то другого войти на машину и удалить приложение. В качестве альтернативы я могу изменить имя/идентификатор приложения, но первое не всегда возможно, а второе рискованно (я не хочу проверять измененный идентификатор приложения в системе управления исходными кодами).
Должен быть какой-то способ удалить его. Может быть, сценарий PowerShell?
58 2012-12-13T18:15:05+00:00 13
Комментарии к вопросу (4)
Решение / Ответ
Auri Rahimzadeh
18-го января 2013 в 8:15
2013-01-18T20:15:32+00:00
Дополнительно
Мой процесс, описанный выше, все еще работает, но он просто обходит проблему состояния гонки, когда Windows Update (да, как ни странно) отвечает за удаление «поэтапных пакетов»
Согласно Microsoft, «другое исправление» — и я все еще считаю эту проблему ошибкой — это:
- Поэтапные пакеты не позволяют вам установить данный пакет в режиме разработки.
- Поэтапные пакеты занимают некоторое дисковое пространство, но благодаря жесткой привязке эффект от этого уменьшается. Если файл идентичен в нескольких версиях пакета, appx deployment жестко связывает файлы вместо того, чтобы > поддерживать две отдельные копии. поддерживать две отдельные копии одного и того же файла.
- В приглашении powershell администратора выполните команду:
- Скачайте psexec из sysinternals tools, автор Марк Руссинович
- Чтобы избавиться от них всех, запустите в обычной командной строке с правами администратора/высокими правами (не powershell):
Редактировал ответ 3-го января 2018 в 10:10
Комментарии к ответу ( 6 )
Auri Rahimzadeh
Ответ на вопрос
15-го января 2013 в 2:39
2013-01-15T14:39:21+00:00
Дополнительно
Если это не сработает, вы также можете попробовать следующее, что сработало для меня. Обратите внимание, что это для моей машины dev, а не для машины обычного пользователя, так что я не знаю, как это повлияет на других пользователей 😛
- Получите право собственности на папки c:Program FilesWindowsApps и C:ProgramDataMicrosoftWindowsAppRepository — дайте администратору полный доступ. Убедитесь, что TrustedInstaller также имеет права Modify. Вы также принимаете право собственности. Если вы не знаете, это делается через Свойства папки.
- Перейдите в раздел «Службы» и остановите службу Windows Installer.
- Откройте C:ProgramDataMicrosoftWindowsAppRepository и удалите файл PackageRepository.edb.
- Снова запустите службу Windows Installer.
- Запустите Visual Studio от имени администратора.
- Попытайтесь запустить ваше приложение. Оно должно работать.
После того как вы запустите приложение один раз, вы сможете снова запустить VS в режиме пользователя.
Auri Rahimzadeh
Редактировал ответ 15-го января 2013 в 3:14
Комментарии к ответу ( 7 )
Ответ на вопрос
14-го июня 2013 в 10:35
2013-06-14T10:35:14+00:00
Дополнительно
Решение:
Если ничего не работает для вас (для меня это не любой), Вы можете просто изменить имя пакета в манифесте приложения (просто замените последние несколько персонажей с других персонажей). Когда вы сделаете это, вы больше не имеют конфликтующих пакетов.
Изменив имя пакета может не подходить для некоторых сценариях, но вы всегда можете вернуться и изменить его обратно, когда вы закончите отладку на ваше проблемное устройство.
Редактировал ответ 21-го сентября 2017 в 9:28
Комментарии к ответу ( 3 )
Ответ на вопрос
21-го июня 2018 в 10:37
2018-06-21T22:37:03+00:00
Дополнительно
Произошло улучшение в Windows 10 1709 в командлет Remove-appxpackage командлет, добавив -очередь allusers как вариант.
Итак, чтобы удалить приложение для всех пользователей, эта команда работает:
Get-AppxPackage -AllUsers [PackageFamilyName] | Remove-AppxPackage -AllUsers
Где [PackageFamilyName] обычно идентификатор GUID пакета.
Предупреждение / предостережение: команда, кажется, делает повторной установки (повторно подготовке пакета с помощью команды DISM) потом очень сложно, как это кажется относиться к этому, как если бы каждый пользователь индивидуально удалили приложение. Слишком много, чтобы попасть сюда.
Комментарии к ответу ( 3 )
Pavel Nazarov
Ответ на вопрос
6-го сентября 2014 в 10:55
2014-09-06T10:55:57+00:00
Дополнительно
Если вы хотите удалить приложение для текущего пользователя, то попробуйте:
Get-AppxPackage | where name -eq «APP.NAME» | Remove-AppxPackage
Это помогло мне. Так что есть вам-AppxPackage без -все`
Редактировал ответ 13-го июня 2018 в 7:49
Комментарии к ответу ( 2 )
Ответ на вопрос
9-го ноября 2015 в 7:25
2015-11-09T07:25:31+00:00
Дополнительно
В Windows 10 :
Во-первых, вам нужен редактор базы данных SQL, как SqliteBrowser3
- Делать такие манипуляции, как пользователь системы (использование программы PsExec или другое)
- Сделайте копию C:ProgramDataMicrosoftWindowsAppRepositoryStateRepository-Machine.srd
- Откройте эту копию с SqliteBrowser3
- Вам нужно для редактирования и»пакет» и «Ну packageuser» и «пользователей» в стол. Для этого вам потребуется записать призрак идентификатор пользователя, от «пользователей» в таблицу, а затем удалить их. Затем, удалить записи, имеющие духа идентификатор пользователя в колонке пользователей от «packageuser» в стол.
- убить запущенных приложений /ВПВ /Интернет «и услуг экв StateRepository»`в
- заменить оригинальный StateRepository-машина.нич после резервного копирования.
- перезагрузка и потом можно нормально удалить ваш пакет
Примечание : Вы должны оставить свои собственные записи пользователя, назначенной пакет
Dr. Xperience
Редактировал ответ 9-го октября 2017 в 2:57
Комментарии к ответу ( 4 )
Ответ на вопрос
15-го декабря 2012 в 5:42
2012-12-15T05:42:05+00:00
Дополнительно
Существует набор команд PowerShell для управления приложениями Windows Store. Вы можете вывести список установленных приложений на машине для всех пользователей, если выполните следующую команду от имени администратора:
Get-AppxPackage -AllUsers
Однако я не нашел способа удалить приложение для другого пользователя. Remove-AppxPackage работает только для текущего пользователя. Это делает все еще более интересным, если вы удалите пользователя с установленными приложениями. По крайней мере, в предварительных версиях Windows 8 это делало невозможным удаление установленного им приложения.
Мне удалось успешно избежать такой ситуации после выхода финальной версии, поэтому я не могу подтвердить, что проблема все еще существует, т.е. приложения не удаляются при удалении учетной записи пользователя.
Комментарии к ответу ( 2 )
Francois Nadeau
Ответ на вопрос
4-го сентября 2018 в 4:08
2018-09-04T16:08:10+00:00
Дополнительно
Мне пришлось сделать следующее:
get-appxpackage -all > log.txt notepad log.txt (search for the offending PackageFullName) remove-appxpackage -allusers -package «PackageFullName»
Ключевым для меня было, чтобы добавить -очередь allusers флаг, так как без него я получил » и. так как текущий пользователь не имеет, что пакет установлен. Командлет Get-AppxPackage, чтобы посмотреть список установленных пакетов.» какая ошибка.
Комментарии к ответу ( 1 )
Jawid Hassim
Ответ на вопрос
1-го ноября 2017 в 7:02
2017-11-01T07:02:06+00:00
Дополнительно
Хотя это вовсе’t работа для меня, это может просто работать на кого-то.
Запустите PowerShell от имени администратора и выполнить:
Get-AppxPackage -all | Out-GridView -Passthru | Remove-AppXPackage
Затем выберите правильный пакет и ОК, надеюсь, это будет удалить.
Комментарии к ответу ( 0 )
Ответ на вопрос
30-го ноября 2016 в 4:42
2016-11-30T16:42:41+00:00
Дополнительно
В Windows PowerShell в режиме администратора, выполните:
в Get-appxpackage -все | где имя -экв quot и» и> Debug — worked like charm
Комментарии к ответу ( 0 )
Jawid Hassim
Ответ на вопрос
7-го ноября 2017 в 8:59
2017-11-07T08:59:41+00:00
Дополнительно
Если все остальное терпит неудачу и вы в отчаянии, как было в моем случае (потому что пользователь был удален) это немного опасно, но он работал для меня.
ДЕЛАЕМ НА СВОЙ СТРАХ И РИСК! Я знал, что мой пользователь был последним пользователем, созданным на компьютере.
Этот ответ представляет собой сочетание Аури Рагимзаде’ы ответьте выше на TAKEOWN и интика’ы ответьте, где вы измените StateRepository-машина.используя нич ‘браузер БД для SQLite’ (скачать здесь: браузер БД для SQLite 3), единственное отличие-я отредактировал только одно: В PackageUser я изменил значение пользователей 3 (который был ID предыдущего удален пользователь) 4 (который мне, последние созданные пользователем)
Убедитесь, что пользователь **** стол и посмотреть, какие ценности в твоем случае!
Источник: kzen.dev
Как удалить приложение, которое установил другой пользователь?
Я продолжаю сталкиваться с этой проблемой, когда пытаюсь отладить свои приложения для Windows 8, а копия уже установлена в другой учетной записи пользователя:
DEP0700: Ошибка регистрации приложения. Другой пользователь уже установил упакованную версию этого приложения. Неупакованная версия не может заменить это. Конфликтующий пакет >> был опубликован CN=>>. (0x80073cf9)
Иногда я могу просто войти в систему или попросить кого-то еще войти в систему и удалить приложение. В качестве альтернативы я могу изменить имя/идентификатор приложения, но одно не всегда возможно, а другое рискованно (я не хочу проверять измененный идентификатор приложения в системе управления версиями). Должен быть какой-то способ удалить его. Может быть, скрипт PowerShell?
задан 13 дек.
Filip Skakun
Чтобы добавить к моей проблеме — прямо сейчас я попросил другого парня удалить приложение, но похоже, что двоичные файлы застряли в Program Files, и я не могу удалить файлы даже после изменения прав доступа к папке / файлу и стать их владельцем. Вероятно, что-то о Windows, защищающей эту папку от хакеров. — Filip Skakun
ознакомьтесь здесь с тем, что Microsoft рекомендует для вашей проблемы, основной причиной может быть истечение срока действия вашей лицензии разработчика, ознакомьтесь с другими причинами здесь social.msdn.microsoft.com/Forums/en-US/toolsforwinapps/thread/… — user1542476
Я сообщил об этой проблеме в Microsoft Connect, надеюсь, MS предоставит способ как-то это исправить. Не стесняйтесь голосовать за него: connect.microsoft.com/VisualStudio/feedback/details/816102/… — Martin Suchan
Я отметил, что проблема, о которой сообщалось в Microsoft Connect, не была на 100% проблемой. Я разместил новую проблему на Connect, которая лучше описывает этот вопрос. Чем больше голосов, тем больше шансов, что MS это исправит. connect.microsoft.com/VisualStudio/feedbackdetail/view/934709/… — cjbarth
15 ответы
Мой описанный выше процесс все еще работает, но он просто решает проблему состояния гонки, когда Центр обновления Windows (да, как ни странно) отвечает за уничтожение «поэтапных пакетов». По данным Microsoft, «другое исправление» — и я до сих пор считаю эту проблему ошибкой — это:
- Поэтапные пакеты не позволяют вам установить этот конкретный пакет в режиме разработки.
- Поэтапные пакеты съедают часть дискового пространства, но из-за жесткой компоновки этот эффект смягчается. Если файл идентичен между несколькими версиями пакета, развертывание appx жестко связывает файлы вместо того, чтобы поддерживать две отдельные копии одного и того же файла.
- В приглашении администратора powershell команда: get-appxpackage -all
get-appxpackage -all |% >
- Скачать psexec из инструментов sysinternals, написанных Марком Руссиновичем
- Чтобы избавиться от них всех, запустите в обычной командной строке администратора/с повышенными правами (не powershell):
Чтобы удалить только один пакет, вызывающий проблему, используйте следующую строку: psexec -s powershell -c «Get-AppxPackage -all | где имя -eq «APP.NAME » | Удалить-AppxPackage» — Ира Карвалью
psexec недоступен для WinRT >:( — большие пальцы рук
К сожалению, это не работает в Windows 8.1. При запуске из командной строки администратора я получаю эту ошибку: Windows не может удалить 8eeaff03-92dd-46c9-84fc-7b252f93800b_1.0.0.0_neutral__9pm8dksvrxpey, поскольку у текущего пользователя не установлен этот пакет. Используйте Get-AppxPackage, чтобы просмотреть список установленных пакетов. — Kkrizka
Мне пришлось перезагрузить компьютер после выполнения команды PS, чтобы решить проблему. Это машина W8.1. — Hong
На 8.1 у меня перезагрузка не решила проблему. Этот ответ больше не следует помечать как правильный, поскольку он, к сожалению, больше не применим к большинству случаев. — John
В Windows 10 1709 было усовершенствовано командлет remove-appxpackage, добавленный параметр -allusers.
Итак, чтобы удалить приложение для всех пользователей, работает эта команда:
Get-AppxPackage -AllUsers [PackageFamilyName] | Remove-AppxPackage -AllUsers
Где [PackageFamilyName] обычно является идентификатором GUID вашего пакета.
Предостережение / Предостережение: кажется, что команда делает повторную установку (повторную подготовку пакета с помощью DISM) позже очень сложной, поскольку кажется, что она обрабатывается так, как если бы каждый пользователь удалял приложение по отдельности. Слишком много, чтобы влезть сюда.
К вашему сведению, эта проблема возникает из-за того, что в Windows 10 есть ошибка, из-за которой «сброс» приложения удаляет его, но не удаляет должным образом. Мое приложение сломалось, когда я зашел в настройки приложения и нажал «Сброс». — Кристиан Финдли
Если это не сработает, вы также можете попробовать следующее, что сработало для меня. Обратите внимание, что это для моей машины разработчика, а не для машины обычного пользователя, поэтому я не знаю, как это повлияет на не-разработчиков 😛
- Станьте владельцем папок c:Program FilesWindowsApps и C:ProgramDataMicrosoftWindowsAppRepository, предоставив администратору полный доступ. Убедитесь, что TrustedInstaller также имеет права на изменение. Вы также берете на себя ответственность. Если вы не знаете, это делается через Свойства этой папки.
- Перейдите в Службы и остановите службу установщика Windows.
- Откройте C:ProgramDataMicrosoftWindowsAppRepository и удалите файл PackageRepository.edb.
- Снова запустите службу установщика Windows.
- Запустите Visual Studio от имени администратора.
- Попробуйте запустить ваше приложение. Он должен работать.
После того, как вы запустите приложение один раз, вы сможете снова запустить VS в пользовательском режиме.
Помогли мне решить эту странную проблему. Не было других пользователей на ПК — Алексей Сороколетов
У меня есть открытое дело с Microsoft по этому поводу. До сих пор мы проследили, что это проблема Visual Studio, поскольку запуск сценария Powershell для установки приложения работает нормально. Я обновлю эту тему, когда у нас будет решение. — Аури Рахимзаде
Буквально сегодня столкнулся с этой проблемой на другом поверхностном устройстве. Несколько пользователей, одно устройство, одно и то же приложение для каждого пользователя. Аспейн. — Алексей Сороколетов
Удаление PackageRepository.edb предотвращает установку вещей, которые имеют зависимости. Не похоже, чтобы восстановить базу данных. Даже после нескольких перезагрузок Get-AppxPackage -all не возвращает пакеты. — Натан
Не удалось остановить AppXSVC, чтобы удалить файл edb. — Hong
Обходной путь:
Если у вас ничего не работает (у меня тоже не работает), вы можете просто изменить имя пакета в манифесте приложения (просто замените последние несколько символов другими символами). Когда вы это сделаете, у вас больше не будет конфликтующих пакетов.
Изменение имени пакета может не подходить для некоторых сценариев, но вы всегда можете создать его резервную копию и изменить обратно, когда закончите отладку на проблемном устройстве.
Для меня это было спасением. Однажды ночью я работал над этим часами и, наконец, сдался. Я только что снова столкнулся с этой проблемой, и для моих непосредственных целей тестирования это идеально! Спасибо, Хендрикс! — Джейсон Андерсон
Если вы хотите удалить приложение для текущего пользователя, попробуйте:
Get-AppxPackage | where name -eq «APP.NAME» | Remove-AppxPackage
Мне это помогло. Так что есть Get-AppxPackage без -all
Профессиональный совет: ищите с помощью -like и используйте подстановочные знаки, чтобы найти имя: Get-AppxPackage -all | Where Name -like «*P.NA*» Но очень отличная работа; Спасибо. Единственная проблема, с которой я столкнулся, заключалась в том, что пользователь по-прежнему не мог удалить загруженное приложение (хотя оно отображалось с Get-AppxPackage ) и мне пришлось «переустанавливать» через AppPackage’s Add-AppDevPackage.ps1 script, чтобы заставить его в конечном итоге вести себя. — негодяй
Это сработало для меня после выполнения Get-AppxPackage -AllUsers — Нико
На окнах 10:
Во-первых, вам нужен редактор базы данных SQL, такой как SqliteBrowser3.
- Выполните эту манипуляцию как системный пользователь (используйте psexec или что-то еще)
- Сделайте копию C:ProgramDataMicrosoftWindowsAppRepositoryStateRepository-Machine.srd
- Откройте эту копию с помощью SqliteBrowser3.
- Вам нужно будет отредактировать таблицы «package», «packageuser» и «user». Для этого вам нужно будет записать идентификатор пользователя-призрака из таблицы «пользователь», а затем удалить его. Затем удалите записи с идентификатором пользователя-призрака в user столбец из таблицы «packageuser».
- убивать tasklist /svc /fi «services eq StateRepository»
- заменить оригинал StateRepository-Machine.srd после резервного копирования.
- перезагрузитесь, и тогда вы сможете нормально удалить свой пакет
Примечание: вам нужно оставить свою собственную запись пользователя, назначенную пакету.
ответ дан 09 окт ’17, 03:10
Браузер SqlLite не может открыть копию StateReposity-Machine.srd — Доктор Xperience
Я использовал этот замечательный учебник для выполнения процедуры. Теперь давайте посмотрим. — Доктор Xperience
Имена таблиц обновлений package , packageuser и user соответственно — Доктор Xperience
Пришлось сделать следующее:
get-appxpackage -all > log.txt notepad log.txt (search for the offending PackageFullName) remove-appxpackage -allusers -package «PackageFullName»
Ключевым для меня было добавить -все пользователи флаг, так как без него я получил «. поскольку у текущего пользователя не установлен этот пакет. Используйте Get-AppxPackage, чтобы просмотреть список установленных пакетов.» ошибка.
Существует набор командлетов PowerShell для управления приложениями Магазина Windows. Вы можете перечислить установленные приложения на машине для всех пользователей, если выполните следующую команду от имени администратора:
Get-AppxPackage -AllUsers
Однако я не нашел способа удалить приложение для другого пользователя. Remove-AppxPackage работает только для текущего пользователя. Это делает все еще более интересным, если вы удаляете пользователя, у которого установлены приложения. По крайней мере, в предварительных версиях Windows 8 это делало невозможным удаление установленного им приложения.
Мне удалось успешно избежать такой ситуации с момента финального выпуска, поэтому я не могу подтвердить, что проблема все еще существует, т.е. приложения не удаляются при удалении учетной записи пользователя.
ответ дан 15 дек ’12, 05:12
Ну, я слышал, что есть проблемы, когда удаление учетной записи пользователя не позволяет удалить все приложения, установленные для этого пользователя, из списка. Я не уверен, сделал ли я это, но теперь у меня есть приложение, которое я не могу установить на 2 из 3 планшетов, которые у меня есть на работе, потому что, хотя приложение не установлено ни у одного пользователя, оно все еще утверждает, что оно есть, и получить -AppxPackage -AllUsers показывает его в списке. Я могу установить его из магазина, но не из Visual Studio. Я думаю, что другие приложения устанавливаются нормально, поэтому проблема не в лицензии разработчика. Я проверю это снова, хотя в следующий раз я посмотрю на это. — Филип Скакун
Я могу подтвердить, что даже в Windows 8.1 я не нашел способа удалить приложение из уже удаленной учетной записи. Все еще исследую. — Мартин Сучан
В Windows Powershell в режиме администратора запустите:
get-appxpackage -all | where name -eq «>» | remove-appxpackage
Забавно, что вы только что опубликовали это, поскольку я снова искал ответ. 🙂 По крайней мере, на ТХ2 это не работает, к сожалению. При первом запуске он удаляется для текущего пользователя, но остается для другого. Затем при повторном запуске вы получите: get-appxpackage -all | где имя -eq «Microsoft.WindowsSoundRecorder» | Remove-AppxPackage Remove-AppxPackage: сбой развертывания с HRESULT: 0x80073CF1, пакет не найден. Windows не может удалить Microsoft.WindowsSoundRecorder_10.1611.3051.0_x64__8wekyb3d8bbwe, поскольку у текущего пользователя не установлен этот пакет. . — Филип Скакун
Хотя это не сработало для меня, это может сработать для кого-то еще.
Запустите powershell от имени администратора и выполните:
Get-AppxPackage -all | Out-GridView -Passthru | Remove-AppXPackage
Затем ВЫБОР правильный пакет и OK, надеюсь удалит.
Что сработало для меня
1. Close VS 2. Open Services 3. Stop Appx Deployment Service 4. Open C:ProgramDataMicrosoftWindowsAppRepository and delete the PackageRepository.edb file. 5. Start Appx Deployment Service 6. Start VS PackageName» | remove-appxpackage -AllUsers на Win 10 v1903 после перепробования многих других вариантов, и это сработало. После этого я проверил наличие пакета, и он исчез.
ответ дан 10 окт ’19, 02:10
Вы действительно можете просто сделать что-то вроде Get-AppxPackage -a *ageNam* | Remove-AppxPackage -a удалить пакет на основе подстроки имени для всех пользователей, даже без where часть. Вам все еще может понадобиться psexec и т. д. для удаления/удаления файлов, если ваше приложение каким-то образом зависло, и только системная учетная запись может его удалить. — Филип Скакун
Если ничего не помогло и вы в отчаянии, как было в моем случае (потому что пользователь был удален), это немного опасно, но мне помогло.
ДЕЛАЕТЕ НА СВОЙ РИСК! Я знал, что мой пользователь был последним пользователем, созданным на машине.
Этот ответ представляет собой комбинацию ответа Аури Рахимзаде выше на TAKEOWN и ответа intika, в котором вы изменяете StateRepository-Machine.srd с помощью «Браузера БД для SQLite» (скачивается здесь: Браузер БД для SQLite 3), с той лишь разницей, что я редактировал только одну вещь: в PackageUser я изменил значение Информация о пользователе 3 (который был идентификатором предыдущего удаленного пользователя), чтобы 4 (Это я, последний созданный пользователь)
ОБЯЗАТЕЛЬНО ПРОВЕРЬТЕ Информация о пользователе Таблица И ПОСМОТРИТЕ, КАКИЕ ЗНАЧЕНИЯ РАБОТАЮТ В ВАШЕМ СЛУЧАЕ!
Источник: stackovergo.com