Куда файл MSI копируется после установки? - PullRequest
6 голосов
/ 15 января 2010

Я должен заменить его из-за ошибки, которая блокирует удаление программного обеспечения, но Windows не может найти файл MSI, если я использую утилиту поиска файлов, но я думаю, что MSI хранится где-то, где утилита Add or Remove Programsиспользуйте это.

Ответы [ 6 ]

11 голосов
/ 15 января 2010

Не входит в% windir% \ installer \

Хотя я думаю, что файлы могут быть переименованы. Не уверен, откуда вы берете отображение имени из ...

Этот каталог становится очень большим, поэтому я перемещаю его на внешний диск. Иногда это приводит к сбою деинсталляции или обновления с отсутствующей ошибкой msi, но это можно исправить, вернув каталог обратно

6 голосов
/ 18 января 2010

Вы можете принудительно выполнить повторное восстановление / переустановку с помощью MSIEXEC. Рекомендуемый способ обновления ошибочных инсталляционных пакетов, которые не могут быть удалены каким-либо другим способом, - это повторное восстановление с фиксированным пакетом, а затем удаление как обычно.

MSIEXEC /fv setup.msi
4 голосов
/ 19 января 2017

Я положил много комментариев в принятый ответ, поэтому я решил опубликовать ответ после создания резюме с несколькими дополнительными деталями:

Installshield создает копию файлов * .msi по пути %windir%\installer\, где% windir% - это переменная среды, которая обычно указывает на C:\Windows\. Перед созданием копии файлов * .msi она переименовывает ее, используя случайную номенклатуру, например Я вижу файл с именем 65ec5c99.msi в моем каталоге C:\Windows\Installer.

Теперь, чтобы выяснить фактическое название продукта для переименованного файла MSI, есть два способа:

  1. Проверить LocalPackage атрибут в реестре по пути - [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersio‌​n\Installer\UserData‌​\<InternalUserId>\Pr‌​oducts\<ProductGUID>‌​\InstallProperties]. InternalUserId является чем-то вроде S-1-5-18. ProductGUID - это GUID, подобный 00058CD18F0BF523DA1072073D56715D, встроенный в качестве открытого свойства внутри самого файла MSI. Вы можете проверить это общедоступное свойство, открыв файл MSI с помощью любого инструмента, например, касатка

  2. Открыть папку C:\Windows\Installer в проводнике. Измените представление каталога на Details view. Добавьте столбец Subject в представление. Whooaa !! Тайна разгадана. Название продукта отображается прямо в Subject столбце

enter image description here

4 голосов
/ 21 января 2010

При установке пакета с помощью службы установщика Windows MSI-файл получает кэшируется в скрытой папке "% windir% \ installer". Оно переименовывается, и новое имя представляет собой шестнадцатеричную строку, которая не имеет очевидной корреляции с исходным именем. Что-то вроде "123ab4.msi".

Нетрудно выяснить, какая из них является кэшированной копией вашего приложения. Самый быстрый способ - найти кэшированный файл того же размера. Когда вы думаете, что нашли его, наведите указатель мыши на имя файла в проводнике Windows. Появится всплывающая подсказка, которая покажет вам данные из потока сводной информации пакета. Название продукта, имя автора и так далее. Как только вы нашли нужный файл, вы можете напрямую отредактировать его с помощью такого инструмента, как Orca.

Если вы просто пытаетесь что-то исправить на своем компьютере, то хорошим вариантом может быть непосредственное редактирование кэшированной базы данных. Тем не менее, Microsoft предоставляет встроенный способ решения такой проблемы. Вы можете создать патч (файл MSP), который содержит разницу между исходным MSI-файлом и обновленным MSI-файлом. Затем этот патч можно будет распространить среди всех, кто уже установил ваше приложение с использованием первоначальной установки, и его будет легко использовать.

MSDN обсуждает создание патча здесь - http://msdn.microsoft.com/en-us/library/aa368060%28VS.85%29.aspx

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

2 голосов
/ 16 января 2016

Чтобы увидеть полезные имена MSI-файлов в C:\Windows\Installer, щелкните правой кнопкой мыши в верхней части проводника и добавьте поле для просмотра темы (вероятно, придется выбрать больше, так как это не по умолчанию, как имя, дата изменения и т. Д.). ) Отсюда вы можете найти MSI и использовать его для удаления программ.

0 голосов
/ 15 января 2010

Может быть, MSI был просто удален. Вы можете удалить папку установки и запустить утилиту очистки msi, а затем переустановить программу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...