Как найти файл msi

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

6 ответов

Лучший ответ

Не заходит в% windir% installer

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

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


17

Random206
18 Мар 2014 в 08:16

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

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

  1. Проверьте атрибут LocalPackage в реестре по пути – [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersio‌​nInstallerUserData‌​<InternalUserId>Pr‌​oducts<ProductGUID>‌​InstallProperties]. InternalUserId – это что-то вроде S-1-5-18. ProductGUID – это GUID, подобный 00058CD18F0BF523DA1072073D56715D, встроенный в качестве общедоступного свойства внутри самого файла MSI. Вы можете проверить это общедоступное свойство, открыв свой файл MSI с помощью любого инструмента, например косатка

  2. Откройте папку C:WindowsInstaller в проводнике. Измените представление каталога на представление Details. Добавьте в представление столбец Subject. Теперь название продукта можно увидеть в столбце Subject, как показано на скриншоте ниже:

enter image description here

Примечание : каталог C:Windowsinstaller не отображается в проводнике, пока мы не установим флажок Show hidden files, folders, and drives и не снимем флажок Hide protected operating system files(Recommended) расширенные настройки в параметрах просмотра папки, как показано на снимке экрана ниже:

enter image description here


13

RBT
30 Сен 2021 в 10:16

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

MSIEXEC /fv setup.msi


7

saschabeaumont
18 Янв 2010 в 02:33

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

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

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

MSDN обсуждает создание исправлений здесь – http://msdn.microsoft .com / ru-ru / library / aa368060% 28VS.85% 29.aspx

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


6

Ed.
21 Янв 2010 в 08:32

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


4

thrax
16 Янв 2016 в 01:54

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


-1

Klaus Byskov Pedersen
15 Янв 2010 в 16:57

Usually MSI file(s) might be extracted in different temp locations depends from who was launched (UserSystemetc) and how configured setup.exe. Sometimes you can extract it with help of different command-line switches for setup.exe.

The simple way to check – launch it under user account, go to %temp% folder, most likely there should be created folder with {GUID_view_name}. Inside this folder you will find MSI file.

User’s %temp% folder has different location in different Windows versions:
Windows XP20002003:

"C:Documents and settings{user name}Local settingsTemp" or "%userprofile%local settingstemp"

Windows Vista7820082012

"C:Users{user name}AppDataLocalTemp" or "%userprofile%appdatalocaltemp"

P.S. Also you can check this SO question-answer.

answered Sep 3, 2014 at 13:11

Igor Shenderchuk's user avatar

1

Snapshot a clean VM and use a program such as Install Watcher or InCntrl to record the current state of the file system. Run the setup.exe until you are on the first dialog of the MSI and take another recording. Diff and look for where the MSI and related support files appear.

answered Sep 3, 2014 at 13:44

Christopher Painter's user avatar

I found a much better solution, Igor, gave me the idea.

I used ProcessMonitor and filtered with Process is “msiexec.exe” and Path ends with “.msi”.

I found the msi in:

C:ProgramDataDownloaded Installations{41A70E83-DA5D-4CA6-9779-73C9330E3D13}IQProtector64.msi

answered Sep 9, 2014 at 7:35

Abraham kotev emet's user avatar

Извлечение файлов MSI из EXE: 4 простых способа сделать это

Расширение файла MSI означает Microsoft Software Installer, который в основном используется приложениями Windows и пакетами обновлений, установленными в ОС. Основное различие между файлами MSI и EXE заключается в том, что EXE часто может просто запустить программу при двойном щелчке, тогда как файл MSI всегда будет содержать установщики.

Существует множество способов, с помощью которых вы можете извлечь MSI из EXE и использовать установщик на своем ПК. В этом руководстве мы покажем вам все различные способы извлечения MSI из EXE. Обратите внимание, что ни одно из решений не является универсальным. Давайте проверим различные методы.

Что такое формат файла MSI и как его открыть?

Формат файла MSI используется не только Windows при установке обновлений; даже сторонние разработчики также используют файлы MSI. Вы часто будете видеть файлы EXE и MSI вместе при загрузке программы.

Известно, что файл MSI содержит всю информацию и файлы, связанные с установкой. Сюда входят файлы, в которых они должны быть установлены, например записи реестра.

Примечательно, что, чтобы открыть файл MSI, все, что вам нужно сделать, это дважды щелкнуть по нему, как если бы вы сделали это с любым другим файлом EXE. Однако файлы MSI упакованы в архивоподобный формат, который можно распаковать с помощью инструмента UNZIP. Вы даже можете редактировать файлы MSI так же, как вы редактируете файлы DOC или XLSX.

Как конвертировать EXE в MSI бесплатно?

Ниже вы найдете 4 способа конвертировать EXE-файл в MSI или как извлечь файлы MSI в Windows 10, и все они бесплатны.

Следуйте решениям, строго выполняя указанные шаги, и все будет в порядке.

  1. Запустите EXE – файл.
  2. Когда вы увидите первое приглашение или страницу, на которой обычно вы хотели бы установить программу или лицензионное соглашение, ничего не нажимайте и не закрывайте ее.
  3. Нажмите клавиши Win + R, чтобы открыть диалоговое окно «Выполнить».
  4. Введите %temp% и нажмите Enter , чтобы открыть временную папку.
  5. Отсортируйте файлы по дате изменения.
  6. Самым новым файлом будет ваш файл MSI.
  7. Скопируйте файл MSI в новое место.
  8. Закройте приглашение установщика.

Обратите внимание, что как только вы закроете приглашение установщика, файл MSI из временной папки исчезнет. Итак, скопируйте и вставьте файл MSI в другое место, прежде чем закрывать временную папку.

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

  1. Загрузите инструмент для извлечения, например 7-zip, на свой компьютер.
  2. Установите его.
  3. Щелкните правой кнопкой мыши файл EXE, выберите 7-Zip и откройте архив.
  4. Не извлекайте никакие файлы.
  5. Найдите файл MSI в содержимом файла EXE. (Обратите внимание, что чаще всего файлы MSI могут иметь вводящие в заблуждение имена без расширений)
  6. Извлеките файл MSI в другую папку.
  7. Измените имена извлеченных файлов и добавьте расширение .MSI.
  8. Если есть два файла, больший — это 64-битный установщик, а меньший — 32-битный установщик.

Этот метод снова работает с некоторыми файлами EXE, но с другими вы не сможете извлечь файлы MSI.

3. Используйте командную строку с повышенными привилегиями (для проектов на основе InstallShield).

  1. Откройте меню «Пуск».
  2. Откройте командную строку от имени администратора.
  3. Введите приведенную ниже команду и нажмите Enter. <file.exe> /s /x /b"<folder>"/v"/qn"
    • Замените file.exe на имя EXE-файла.
    • Вместо <целевая папка> введите место, куда вы хотите извлечь файл MSI.
  4. Закройте окно командной строки.
  5. Откройте папку, в которую вы распаковали файл MSI.

Здесь /s автоматически удалите программу /x из системы. Кроме того, /b определяет целевой путь к файлу MSI. в то время как /v передает аргументы установщику.

4. Используйте специальный инструмент

  1. Скачайте MSI Wrapper с официального сайта.
  2. Установите программу на свой ПК.
  3. Запустите оболочку MSI.
  4. Нажмите «Далее».
  5. Введите имя файла EXE или просмотрите его местоположение.
  6. Введите выходное имя файла MSI.
  7. Нажмите «Далее».
  8. Оставьте значения по умолчанию без изменений и нажмите «Далее».
  9. Нажмите «Далее» на страницах «Свойства», «Параметры» и «Действия».
  10. Нажмите кнопку «Создать» на странице «Сводка».
  11. После создания пакета MSI нажмите «Установить MSI».

Это гораздо более простой способ извлечь MSI из EXE-файла. Каждый процесс обрабатывается программным обеспечением, и все, что вам нужно сделать, это ввести несколько настроек.

Сообщите нам в комментариях ниже, какое из приведенных выше решений вы использовали для извлечения MSI из EXE-файла.

Related post



Существует несколько способов установки программного обеспечения, а также ряд различных решений для создания установочного файла, позволяющего конечным пользователям установить продукт на свои системы. Inno Setup, InstallShield и Null Scriptable Install System (NSIS) – это программное обеспечение, которое помогает создать установщик установки, другое – собственный установщик Windows от Microsoft. Известные как файлы MSI из-за расширения файлов, файлы установщика Windows широко используются корпорацией Майкрософт для обновления и установки Windows и другого связанного программного обеспечения, у них также есть проблемы, такие как файлы MSI, которые нельзя использовать в безопасном режиме.

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

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

Хотя установочный файл MSI является скорее базой данных, чем архивом, таким как Zip или RAR, некоторые программы для архивирования все же могут считывать и извлекать содержимое файла MSI.

7-Zip

Пожалуй, самая популярная бесплатная утилита архивирования, 7-Zip способна читать и извлекать содержимое файла MSI. Поскольку он ведет себя так же, как любой другой читаемый архив, вы можете просто щелкнуть правой кнопкой мыши на файле и выбрать 7-Zip -> Открыть архив, чтобы открыть MSI для просмотра.

открыть MSI с 7zip

При открытом окне 7-Zip легко извлечь весь MSI или отдельные файлы / папки, перетаскивая их из окна или используя кнопку «Извлечь». Вы также можете сделать то же самое с помощью команд контекстного меню 7-Zip -> Extract и извлечь все содержимое установщика в папку.

Скачать 7-Zip

HaoZip

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

haozip просмотреть MSI-файл

MSI можно открывать и извлекать, используя те же методы, что и 7-Zip (контекстное меню или перетаскивание и т. Д.). Мы обнаружили, что HaoZip лучше открывает немного хитрые инсталляторы MSI, например, kavkis.MSI из Антивируса Касперского включает в себя «external.cab», который содержит один файл DLL. 7-Zip показывает только DLL и ничего больше, HaoZip, с другой стороны, показывает саму CAB и несколько других файлов из инсталлятора MSI.

Скачать HaoZip

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

Просмотр MSI и извлечение с помощью специального инструмента

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

Универсальный экстрактор

Universal Extractor – это инструмент, о котором мы уже упоминали много раз, потому что он отлично подходит для распаковки различных типов установочных файлов, включая NSIS, InstallShield, Inno Setup и, конечно, установщик Windows (MSI). Русская форк обновил интерфейс и сторонние распаковщики, используемые оригинальной программой. После установки Universal Extractor распакуйте файл MSI с помощью пункта меню, вызываемого правой кнопкой мыши, или перетащите файл в главное окно.

универсальный экстрактор распаковка MSI

Он подскажет вам, что он поддерживает 4 метода извлечения; Установщик администрирования MSI (стандартный аргумент командной строки), извлечение MsiX (средство командной строки Microsoft), извлечение Packer MSI TC (плагин Total Commander) и расширение распаковщика JSWare (сценарий Oneclick MSI Unpacker из JSWare). Если выбранный метод не работает, просто перезапустите Universal Extractor и выберите альтернативный метод. Universal Extractor извлекает только все файлы в пакете MSI и не позволяет просматривать содержимое пакета MSI.

Скачать универсальный экстрактор

Меньше MSIérables

Портативная и бесплатная утилита, специально разработанная для просмотра и извлечения файлов из пакетов MSI, – Less MSIérables, также известная как LessMSI. Помимо извлечения файлов, в программе также есть несколько других вкладок: одна для просмотра таблиц данных из пакета, а другая – для просмотра сводной информации, хранящейся в пакете (даты, языки, номера версий, издатель и т. Д.).

меньше сообщений

Просто найдите или поместите MSI-файл в окно, и его содержимое будет показано. Все файлы могут быть выбраны для извлечения или вы можете выбрать несколько с помощью мыши и клавиш Shift или Ctrl. Мы обнаружили, что LessMSI очень эффективен при чтении и извлечении более хитрых MSI-файлов, когда архиваторы и инструменты, такие как Universal Extractor, не могут прочитать все содержимое. Параметр, позволяющий добавить пункт контекстного меню правой кнопкой мыши в проводнике, находится в меню «Правка» -> «Настройки».

Скачать Less Msiérables

MSI Unpacker от JSWare

JSWare делает несколько полезных инструментов, связанных с MSI, чтобы облегчить их просмотр и распаковку. В дополнение к упомянутому здесь портативному исполняемому файлу MSI Unpacker они также имеют скрипт на основе веб-страницы HTA, а также VBScript, который используется в качестве одного из параметров в Universal Extractor. Просто запустите программу и поместите MSI в окно или нажмите кнопку, чтобы найти файл.

MSI распаковщик

Нажатие «Получить информацию об установщике» приведет к заполнению нижней панели всеми именами и версиями файлов внутри MSI. «Распаковать файл установщика» извлечет все файлы в папку по умолчанию или в выбранную пользователем папку. Поскольку пакеты MSI могут добавлять или редактировать системный реестр, кнопка «Показать параметры реестра» отобразит список всех записей реестра, которые будут затронуты при запуске установки, список записей можно скопировать в буфер обмена с помощью правой кнопки мыши. или Редактировать меню. Список файлов в MSI можно скопировать аналогичным образом.

Скачать JSWare MSI Unpacker

Извлечь файл MSI с помощью командной строки

Поскольку файлы установщика Windows созданы для автоматической и административной установки, имеет смысл иметь хороший интерфейс командной строки. Windows может разрешить извлечение содержимого файла MSI с помощью командной строки или с помощью сценария. Просто откройте окно «Выполнить» (Win + R) или командную строку и введите Msiexec чтобы получить список аргументов.

Аргументы установщика Windows

К счастью, синтаксис для распаковки MSI-файла довольно прост, в поле «Выполнить», командную строку или собственный скрипт можно вставить следующее.

msiexec / a pathtoMSIfile / qb TARGETDIR = pathtotargetfolder

Аргумент «/ qb» говорит установщику отображать простой пользовательский интерфейс во время распаковки, если вы хотите сделать процесс полностью бесшумным, используйте вместо этого «/ qn».

Windows Installer Basic UI

Если вам нужно регулярно извлекать файлы MSI, также легко добавить запись в контекстное меню проводника Windows, чтобы вы могли извлечь файл одним нажатием кнопки. Загрузите приведенный ниже Zip-файл, откройте его и дважды щелкните файл Add_MSI_Extract_Context.reg, чтобы импортировать данные в реестр.

Скачать MSI_Extract_Context.zip

Теперь щелкните правой кнопкой мыши на MSI, и вы получите новую опцию в меню Проводника. Чтобы снова удалить этот пункт меню, используйте Remove_MSI_Extract_Context.reg в Zip.

extract_msi_explorer_context

Содержимое будет извлечено в новую папку в том же месте, что и MSI-файл с именем «(MSIfilename) Extracted». Если вы получаете сообщение об ошибке при попытке использовать установщик Windows из командной строки, вам может потребоваться использовать один из указанных выше инструментов.

Примечание редактора: Хотя все вышеперечисленные методы могут легко извлекать большинство файлов MSI, получение всех файлов из пакетов со встроенными CAB-файлами и другими слегка хитрыми методами приводит к тому, что большинство инструментов пропускают некоторые или даже все файлы, содержащиеся внутри. Мы обнаружили, что меньше MSIérables дают лучшие результаты и получают больше файлов, чем любой другой метод. Если вы не можете получить ожидаемые файлы, попробуйте LessMSI.

Когда вы устанавливаете пакет с помощью службы установщика 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

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

Добавить комментарий