Почему MSI требует оригинала.msi-файл для продолжения удаления?

как большинство из вас, вероятно, заметили, при удалении пакета MSI Windows попросит оригинал . Почему так?

Я вижу только недостатки этого:

  • не устойчив к изменениям сети.
  • не устойчив к изменениям локального диска.
  • неожиданно для пользователей.
  • обычно требуется, чтобы пользователи покидали свой стол и начинали крестовый поход, чтобы получить правильный компакт-диск.
  • вид доказывает установки не самодостаточный.
  • способствует использованию небезопасных инструментов, таких как msizap.
  • что, в свою очередь, способствует менталитету "в следующий раз я просто буду использовать zip-файл".

может кто-нибудь пролить свет на это?

2 ответов



обновление:

этот новый инструмент поддержки (этот инструмент теперь также устарел) можно попробовать в последних версиях Windows, Если у вас есть несуществующие пакеты MSI, нуждающиеся в удалении (вместо устаревшего, устаревшего, неподдерживаемого msizap.exe).

некоторые предложили использовать инструмент, связанный с Здесь saschabeaumont:удалить без MSI файл. Если вы попробуете его, и он работает, пожалуйста, сообщите нам об этом. Обратная связь в этом ответе указывает, что он работает (у меня нет никаких застрявших настроек для тестирования на данный момент).


почему вы спросили для первоначально средств установки?:

  • исходный MSI не требуется для удаления, если сам MSI плохо разработан - или кэшированный MSI отсутствует (подробности см. ниже.)
  • все установленные MSI-файлы кэшируются в %SystemRoot%\Installer\*.* С помощью случайное имя hex.
  • кэшированный файл MSI используется для любого техническое обслуживание, ремонт и удалить операции-и этого достаточно для удаления в подавляющем большинстве случаев.
  • в некоторых случаях этот кэшированный файл отсутствует, а затем удалить вообще невозможно в некоторые случаи. Смотрите подробнее, и ссылки для принудительного удаления или отмены продукта.
  • первоисточник требуется только в том случае, если файлы необходимо скопировать на диск (для установки обслуживания), или MSI делает явный запрос для разрешения исходного источника с помощью стандартного действия ResolveSource или через пользовательское действие (которое не должно быть сделано в правильном написании пакет - Я думаю, что MS Office пакет содержал эту ошибку ResolveSource еще в тот день, заставляя всех искать свои установочные компакт-диски/DVD).
  • в предыдущих выпусках Windows этот кэшированный MSI был лишен всех кабин и, следовательно, содержал только структуру установщика и никаких файлов.
  • начиная с Windows 7 (MSI версии 5) the MSI-файлы теперь кэшируются в полном размере чтобы избежать нарушения подписи файла, которая влияет на приглашение UAC при запуске установки (a известная проблема-Виста). Это может привести к колоссальному увеличению потребления дискового пространства (несколько гигабайт для некоторых систем). проверьте эту статью и особенно обсуждение внизу для получения дополнительной информации.
  • чтобы предотвратить кэширование огромного файла MSI, вы можете запустить admin-установить пакета перед установкой. Это то, как компания с правильным развертыванием в управляемой сети будет делать вещи, и она будет удалять файлы cab и делать сетевую установку точка с небольшим файлом MSI и файлами помимо него. обратите внимание, что это может дать запрос UAC в некоторых случаях, так как извлеченный файл MSI больше не подписан - это должно быть протестировано с вашей конфигурацией SOE / desktop.
  • прочитайте мой ответ в этой теме для полного описания установки администратора:какова цель административной установки, инициированной с помощью msiexec / a? или этот аналогичный, но, возможно, более доступный ответ: admin install и его использование
  • в некоторых редких случаях кэшированный MSI (со случайным именем) может быть ошибочно отсутствует, и удаление затем попросит оригинальный MSI для завершения удаления. такое случается не часто. Раньше это был случай, когда можно было использовать MsiZap.exe очистить такую установку, но этот инструмент устаревший, устаревший и неподдерживаемый. Не используйте его - слишком много несовместимостей с более новыми версиями Windows, и вы создаете новые проблемы. Возможно, попробуем этот инструмент поддержки (тоже устаревшие). Единственный вариант, который я могу предложить сейчас, это этот ответ от saschabeaumont. если вы попробуете этот инструмент, пожалуйста, сообщите нам, если он работает для you. Если вы хотите выяснить, что могло привести к кэшированию MSI отсутствует, попробуйте прочитать раздел 12 Здесь: удаление MSI-файла из командной строки без использования msiexec (короче говоря, потенциальные причины варьируются от вмешательства в восстановление системы, антивирусные сценарии и сценарии очистки, до ошибочной ручной настройки, низкого дискового пространства, отключений питания, ошибок отладки коробки разработчика, плохо разработанных файлов MSI с дубликатами кодов пакетов, неудачных патчей и т. д... Много теорий, немного уверенности, боюсь).
  • как последней инстанции вы можете попробовать восстановить (если он не был отключен полностью или частично), чтобы вернуться к предыдущему состоянию установки и посмотреть, решает ли это вашу проблему удаления (вы можете найти видео-демонстрации этого на youtube или аналогичном сайте).
  • имейте в виду, что восстановление системы может повлиять на обновление Windows, которое затем необходимо повторно применить-а также многие другие параметры системы. Я видел новые, неразрешимые проблемы установки в результате восстановления системы, но обычно он работает нормально. Очевидно, не используйте эту функцию для удовольствия,это последнее средство и лучше всего использовать для откат нового драйвера или настройки, которые только что были установлены и, как оказалось, вызывают немедленные проблемы и такие проблемы. Чем дольше вы будете возвращаться, тем больше переделок вы создадите для себя. Много очевидных вещей, но я думаю, что это нужно упомянуть.
  • поскольку я упомянул восстановление системы, я полагаю, я должен упомянуть последнее известное Хорошая функция конфигурации. Эта функция не имеет ничего общего с удалением или восстановлением системы, но это последняя конфигурация загрузки, которая работала или привела к работающей системе. Он может быть использован для запуска вашей системы снова, если он bluescreens или останавливается во время загрузки. Это часто происходит после установки драйвера. Это ничего не сделает, чтобы исправить вашу неудачу удаления, хотя (Или я был бы очень удивлен).

обзоры ответить:


в дополнение к этому ответу, возможно, эта статья о различных способах удаления пакетов MSI представляет интерес. Это довольно популярны статьи С большое количество просмотров:


есть несколько причин для сохранения исходного msi:

  • деинсталлятор использует его, чтобы узнать, какие файлы и ключи реестра были установлены и убедитесь, что они все очищены.
  • msi может содержать код для специальных действий по удалению, которые необходимо выполнить.
  • это позволяет сделать операцию "ремонт" из меню "Установка/Удаление программ", независимо от того, сохранили ли вы файл установки самостоятельно.

нормальный способ для Windows, чтобы сохранить файл в кэше для вас, так что вам не придется думать об этом. См.папку %WINDIR%\Installer\. Единственная причина, по которой он попросит ваш оригинальный msi, - это если что-то не так с сохраненным файлом. Это решает большинство ваших проблем, хотя и вызывает новый (дисковое пространство).