Почему MSIEXEC не удается удалить во время / X? - PullRequest
0 голосов
/ 19 октября 2010

У нас установлено приложение (MSI), и мы пытаемся удалить его, используя следующую опцию командной строки:

MsiExec.exe /x{code} /qn /liwearucmopvx+ C:\Log\UnInstall.tra

Однако иногда (без понятия, почему) оно генерирует следующие ошибки:

MSI (s) (BC:F8) [02:02:50:031]: Note: 1: 1725 
MSI (s) (BC:F8) [02:02:50:031]: Note: 1: 2262 2: Error 3: -2147287038 
MSI (s) (BC:F8) [02:02:50:031]: Note: 1: 2262 2: Error 3: -2147287038 
MSI (s) (BC:F8) [02:02:50:031]: Product: Application -- Removal failed.

Что это значит?

Ответы [ 2 ]

1 голос
/ 10 июня 2011

Из опыта я бы сказал, что это настраиваемое действие , обусловленное для запуска только при удалении, которое вызывает ошибку и, следовательно, вызывает откат удаления. В результате получается продукт, который невозможно удалить, пока ошибка не будет устранена. Отличная работа Microsoft!

Для какого продукта это удаление? Самый простой способ решить проблему удаления, подобную этой, - это создать небольшое обновление для установленного продукта и, при желании, обернуть его и установить как исправление. Это позволит повторно кэшировать новый файл MSI в системе, в которой вы устранили ошибку в последовательности удаления. Этот новый кэшированный MSI затем используется для удаления. Это трудоемкая и трудоемкая работа, требующая значительных усилий по обеспечению качества, и обычно выполняется только в случае крайней необходимости.

Другие варианты включают использование MsiZap для удаления MSI-регистрации продукта. Это оставит файлы и ненужные файлы реестра в системе, но продукт больше не будет зарегистрирован. (msizap устарел, устарел и не поддерживается. Не используйте его - слишком много несовместимостей с более новыми версиями Windows Возможно, попробуйте этот инструмент поддержки вместо) .

Если вы предоставите больше информации, это должно быть решено без особых хлопот. Возможно, вы захотите запустить этот файл журнала через инструмент для поиска других ошибок, пока вы на нем. Для этой цели Microsoft предоставляет утилиту WiLogUtl.exe . Он доступен только в Microsoft SDK , который является огромной загрузкой.

1 голос
/ 19 октября 2010

Что-то не найдено.Согласно errlook.exe:

  • Ошибка 3 - ошибка Win32 «Системе не удается найти указанный путь.»
  • -2147287038 - HRESULT для «% 1 не удалось найти. "

Утилита, подобная Process Monitor SysInternals , может помочь вам определить, что вещь не найдена (или, возможно, она находится в другом соседнем сообщении журнала MSI).

...