Как принудительно удалить MSI?

Как принудительно удалить MSI?

Я обнаружил множество компонентов (EXE/DLL, сборки .NET и записи реестра), оставшихся на моем ПК от древней установки и удаления VS2012. Я хочу полностью избавиться от них всех с помощью их MSI-файлов, которые все еще находятся в моем кэше пакетов, но msiexec /x product.msiпросто выдают мне This action is only valid for products that are installed, предположительно потому, что основной установщик VS2012 удалил свои коды продуктов из данных установщика, и MSI считает, что продукт не установлен.

Можно ли обойти эту проверку с помощью msiexecпереключателя командной строки? Или есть инструмент для сканирования MSI и удаления всего, что он установил? Я посмотрел, msizapно он удаляет только данные установщика для продукта, а не всю хрень, которую он установил.

TL;DR: есть ли инструмент, который делает:

for item in product.msi do delete $item

решение1

Поскольку вы удалили продукт один раз, что использует деинсталлятор, второе удаление, вероятно, не будет лучше. Кроме того, большинство этих остатков, вероятно, были созданы при использовании продукта, после установки.

Лучше установить продукт заново, а затем воспользоваться деинсталлятором, например Бесплатная программа Revo Uninstaller для удаления и последующей очистки. К сожалению, установка и удаление VS — небыстрая операция.

По моему опыту, если у вас установлено более одной версии Visual Studio, использование Revo может привести к слишком большой очистке, поскольку некоторые компоненты могут быть общими для нескольких версий.

Мой совет в случае наличия нескольких версий VS — смириться с наличием некоторых остатков и использовать только официальный деинсталлятор. Вы можете спокойно проверить, что папка установки VS2012 очищена, но не трогайте другие компоненты.

Связанный контент