Как распаковать файл msi

Обновлено: 21.11.2024

Вы можете установить продукты Redgate из файлов установщика Microsoft, а не с помощью .exe-файла установщика Redgate. Это может быть полезно, если вам нужно распространять программное обеспечение по корпоративной сети.

Чтобы установить из файла .msi:

Вы можете адаптировать эту процедуру для вашей конкретной сетевой среды.

Вы можете использовать групповую политику Windows Server для распространения программного обеспечения по сайту или домену. Файлы Redgate .msi и .mst совместимы с использованием объектов групповой политики (GPO). Дополнительные сведения об использовании групповой политики Windows Server см. в разделе Групповая политика (статья TechNet).

1. Установите необходимые компоненты

Для некоторых продуктов Redgate требуются предварительные компоненты, которые не устанавливаются при использовании файла .msi. Убедитесь, что установлены все необходимые компоненты, перечисленные на странице «Требования».

2. Извлеките файлы .msi из .exe

Установщик Redgate (файл .exe) содержит установочный файл .msi. Чтобы извлечь файл .msi из .exe:

  1. Загрузите программу установки нужного вам продукта.
  2. Создайте новую папку для извлечения в нее файлов .msi. Например, Установщики Redgate.
    Если вам нужно установить продукт на несколько компьютеров, используйте общую сетевую папку, доступную со всех компьютеров.
  3. Запустите командную строку и перейдите в папку, в которой находится установщик.

В командной строке введите Extract " " и нажмите Enter. Например:

Установщик запускается в режиме извлечения. Это может занять несколько минут.

Для просмотра файлов .msi и .mst используйте Orca.exe, входящий в состав Windows SDK. Дополнительные сведения см. в разделе Orca.exe (MSDN).

Редактирование файла .msi не рекомендуется и не поддерживается Redgate.

Установить продукт

После извлечения установочного файла .msi используйте msiexec для установки продукта. Чтобы установить продукт на несколько компьютеров, вы можете создать пакетный файл для запуска следующих команд:

  1. Запустите командную строку с правами администратора.
  2. При необходимости сопоставьте общий сетевой ресурс с резервной буквой диска.

В командной строке введите msiexec /i " " TRANSFORMS ADDLOCAL=ALL и нажмите Enter.
Например:

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

Продукт устанавливается в папку, указанную в файле .mst. Установка не является автоматической, но вмешательство пользователя не требуется.

Дополнительную информацию о параметрах командной строки, доступных для msiexec, см. в разделе Параметры командной строки установщика Windows (MSDN).

У нас есть несколько старых исправлений, из которых мы хотим получить файлы, но не хотим тратить время на их установку на машину.

Кто-нибудь может посоветовать способ извлечения файлов из установочного пакета MSI?

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

14 ответов 14

Во-первых, чтобы получить доступ к командной строке, сделайте следующее:

Нажмите кнопку "Пуск".

Нажмите "Все программы".

Перейдите в раздел "Аксессуары".

Щелкните левой кнопкой мыши на командной строке.

После получения командной строки введите следующее:

используя нужные места для заполнения вышеуказанных путей к файлам. Пример:

Насколько я понимаю (из msiexec /?), эта команда фактически установит программу в это место; Не думаю, что это имел в виду первоначальный запросчик.

@user6738 Я проверил это, и оно не устанавливает программное обеспечение. Программное обеспечение не найдено в appwiz и не может быть удалено через msi и сообщает, что оно не установлено. Он действительно извлекает файлы из моего теста.

Я запускал это на заблокированном компьютере с Win8.1 (рабочий ноутбук), и следует отметить, что права администратора НЕ требуются для извлечения файлов .msi.

Отличный ответ! Я поместил это в файл extractMSI.cmd: msiexec /a %1 /qb TARGETDIR="%~d1%~p1%~n1" || pause и добавил его в параметры msi-файла «Открыть с помощью».

Используйте 7Zip.
Он распаковывает MSI , CAB, некоторые EXE и многие другие пакеты для вас. Для его запуска также не требуются права администратора.

Кроме того, у него открытый исходный код, так что никаких надоедливых сообщений с просьбами купить этот материал

и после попытки msiexec лучше справляется со своей задачей (сохраняет каталоги, правильно именует файлы и т. д.)

Похоже, это не работает для меня на win7 x64 с 32-разрядным 7-Zip. Есть ли какой-то особый способ (не перетаскивание), чтобы открыть файл?

В контекстном меню должна быть опция 7zip, когда вы щелкаете файл правой кнопкой мыши — это даст вам возможность извлечь файлы

Я вижу много вещей с восклицательным знаком впереди вместо файлов. Я предполагаю, что либо что-то изменилось, либо у меня есть нечетный файл msi. Я попробовал 7-Zip 9.20.

msiexec корректно изменит таблицу мультимедиа файла msi, чтобы использовать извлеченные файлы, а не внутренние CAB-файлы. Всегда предпочитайте использовать функцию установки администратора, а не этот хакерский подход к распаковке. Смотрите мой пост ниже для более подробной информации.

Есть также совершенно бесплатная программа lessmsi с открытым исходным кодом.

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

Спасибо! Это помогло мне извлечь из MSI, который не извлекался с помощью команды msiexec, говорящей, что «установка администратором не поддерживается» для

Существует встроенная поддержка MSI для извлечения файлов (установка администратором)

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

Обратите внимание, что запуск административной установки и использование инструмента zip для извлечения файлов сильно отличаются! Последний не будет настраивать макет мультимедиа в таблице мультимедиа, чтобы пакет был настроен на использование внешних исходных файлов, что является правильным способом. Всегда предпочитайте запускать фактическую установку администратора, а не любые хакерские извлечения zip. Что касается сжатия, на самом деле для CAB-файлов в формате MSI используются три разных алгоритма сжатия: MSZip, LZX и Storage (несжатый). Все это корректно обрабатывается при установке с правами администратора.

Установки с правами администратора имеют множество применений

Рекомендуется прочитать больше об административной установке, так как это полезная концепция, и я написал сообщение о stackoverflow: Какова цель административной установки, инициированной с помощью msiexec /a?.

По сути, административная установка важна для:

  • Извлечение и проверка файлов установщика
  • Развертывание с помощью программного обеспечения для управления системами, например SCCM (избегает больших кэшированных файлов MSI в C:\Windows\Installer, поскольку файлы извлекаются из внутренних CAB-файлов)
  • Переупаковка корпоративных приложений
  • Восстановление, изменение и самовосстановление
  • Исправления и обновления
  • Реклама MSI (функция "запуск из исходного кода")
  • Ряд других мелких деталей.

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

Установка администратором, практическое руководство

Вы можете выполнить административную установку несколькими способами в зависимости от того, как поставляется установщик. По сути, он либо поставляется в виде файла MSI, либо запаковывается в файл setup.exe.

Выполните эти команды из командной строки с повышенными привилегиями и следуйте инструкциям в графическом интерфейсе для интерактивных командных строк:

Файлы MSI:

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

файлы setup.exe:

Файл setup.exe также может быть установочным файлом в устаревшем стиле (не в формате MSI) или ужасным типом файла MSI Installscript — хорошо известным типом проекта Installshield с ошибками и гибридным нестандартным форматом MSI. По сути, это MSI с пользовательским, более продвинутым графическим интерфейсом, но он также полон ошибок.

Для устаревших файлов setup.exe ключ /a ничего не сделает, но вы можете попробовать переключатель /extract_all:[путь], как описано в этом pdf-файле. Это хороший справочник по автоматической установке и другим вещам. Еще одним ресурсом является этот список параметров командной строки Installshield setup.exe.

Файлы исправлений MSI (*.MSP) можно применить к образу администратора для правильного извлечения его файлов. 7Zip также сможет извлечь файлы, но они не будут правильно отформатированы.

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

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

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

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

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

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

7-архив

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

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

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

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

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

МеньшеMSI

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

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

В ZIP-архив также включена версия LessMSI для командной строки, поэтому вы можете извлечь установщик из командной строки или сценария. Синтаксис очень прост.

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

Распаковщик MSI от JSWare

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

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

MSITools

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

Перетащите файл в поле ввода файла в разделе «Действия пакета» или найдите файл вручную. Затем просто нажмите кнопку «Извлечь файлы» справа, найдите выходную папку и нажмите «ОК», чтобы извлечь все файлы. Если вы хотите выборочно извлечь файлы, щелкните вкладку «Файлы» после открытия файла MSI. Оттуда вы можете выбрать/отменить выбор всех файлов сразу или выбрать отдельные файлы, используя предоставленные флажки.

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

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

Распакуйте файл MSI, используя пункт контекстного меню, или перетащите файл в главное окно. Если он не может автоматически извлечь файл, появится подсказка с тремя методами извлечения; Извлечение MsiX (инструмент командной строки Microsoft), извлечение MSI TC Packer (подключаемый модуль Total Commander) и расширение распаковщика JSWare (скрипт распаковщика MSI одним щелчком из JSWare).

Если выбранный метод не работает, просто снова запустите Universal Extractor и выберите альтернативный метод. Обратите внимание, что Universal Extractor извлекает только все файлы в пакете MSI и не позволяет вам предварительно просмотреть то, что находится внутри него.

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

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

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

msiexec /a pathtoMSIfile /qb TARGETDIR=pathtotargetfolder

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

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

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

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

Необходимо извлечь файл .msi из установщика .exe.

Решение:

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

CodeTwo настоятельно не рекомендует извлекать (и использовать) файлы MSI из установщиков EXE программного обеспечения CodeTwo. Если веб-сайт продукта не разрешает такую ​​операцию (или если вы не получили указаний/разрешения от службы поддержки CodeTwo), используйте установочные файлы .exe.

Первый метод основан на том факте, что большинство установщиков извлекают свои файлы .msi в папку временных файлов в процессе установки. Чтобы извлечь файл MSI из установщика EXE, вам необходимо:

  1. Запустите файл .exe.
  2. Когда вы увидите первое приглашение (например, вопрос о том, хотите ли вы продолжить установку, принять лицензионное соглашение и т. д.), ничего не нажимайте в этом окне и не закрывайте его.
  3. Откройте проводник Windows, введите %temp% в адресной строке и нажмите Enter.
  4. Отсортируйте файлы в папке по дате изменения. Самый новый файл в списке должен быть файлом .msi, который вы ищете.
  5. Скопируйте файл MSI в безопасное место, прежде чем закрыть окно приглашения программы установки (см. шаг 2). Имейте в виду, что если вы закроете окно установщика, файл MSI будет немедленно удален из папки временных файлов.

Во втором способе используется бесплатный сторонний инструмент 7-Zip для просмотра содержимого установочного файла .exe. Следуйте инструкциям ниже.

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

Третий метод работает с проектами на основе InstallShield. Чтобы получить файл MSI из установщика EXE, вам необходимо:

  1. Войдите на компьютер, на котором не установлено программное обеспечение (установщик которого вы хотите получить доступ). Это связано с тем, что этот метод заставляет процесс удаления запускать извлечение файла .msi. Если у вас уже установлено это программное обеспечение, этот метод удалит его, что может быть нежелательно.
  2. Запустите командную строку Windows (cmd) (в Windows 10: откройте меню "Пуск", введите cmd и нажмите Enter) и перейдите в папку, в которой находится ваш EXE-файл.
  3. Выполните приведенную ниже команду:

замените на имя вашего файла .exe и путь к папке, в которую вы хотите извлечь файл .msi (например, C:\Folder ).

Как описано в этой теме, переключатели для приведенной выше команды выполняют следующие действия:

Читайте также: