Я хочу извлечь MSI-файл EXE-файла для публикации по сети.
Например, с помощью Universal Extractor, но он не работает в среде выполнения Java.
Я хочу извлечь MSI-файл EXE-файла для публикации по сети.
Например, с помощью Universal Extractor, но он не работает в среде выполнения Java.
7-Zip должен помочь.
С его помощью вы можете извлечь все файлы внутри EXE (то есть также файл MSI).
Хотя вы можете сделать это с помощью 7-Zip, лучший способ - это административная установка, как указано Stein Осмуль.
Для проектов на основе InstallShield MSI я обнаружил, что работает следующее:
setup.exe /s /x /b"C:\FolderInWhichMSIWillBeExtracted" /v"/qn"
Эта команда приведет к извлечению MSI-файла в каталог, который вы можете свободно указать, и к тихой ошибке удаления продукта.
Командная строка в основном сообщает setup.exe, что нужно попытаться удалить продукт (/ x) и сделать это в автоматическом режиме (/ s). При этом он должен извлечь MSI в определенное место (/ b).
Команда / v передает аргументы установщику Windows, в данном случае аргумент / qn. Аргумент / qn отключает любой вывод графического интерфейса программы установки.
setup.exe /s /bC:\msidir
, а затем отменил установку, когда появится мастер. Я предпочитаю это, потому что он потенциально ничего не удаляет.
- person kindall; 16.11.2016
Быстрый список. Существует несколько распространенных типов файлов
setup.exe
. Вот некоторые из них в «шорт-листе». Более подробная информация здесь a > (вниз).
Setup.exe Extract: (попробуйте разные варианты)
setup.exe /a setup.exe /s /extract_all setup.exe /s /extract_all:[path] setup.exe /stage_only setup.exe /extract "C:\My work" setup.exe /x setup.exe /x [path] setup.exe /s /x /b"C:\FolderInWhichMSIWillBeExtracted" /v"/qn" dark.exe -x outputfolder setup.exe
dark.exe
- это двоичный файл WiX - установите WiX, чтобы извлечь файл WiX setup.exe (на данный момент ). Подробнее (раздел 4).
Всегда:
setup.exe /?
Извлечение MSI: msiexec.exe
/ File.msi
извлечение:
msiexec /a File.msi msiexec /a File.msi TARGETDIR=C:\MyInstallPoint /qn
Множество инструментов настройки: невозможно охватить все возможные типы файлов setup.exe
. В них могут быть всевозможные переключатели командной строки. Существует так много возможных инструментов, которые можно использовать. (non-MSI
, MSI
, admin-tools
, multi-platform
и т. д.).
NSIS / Inno: Commmon, бесплатные инструменты, такие как Inno Setup
, затрудняют извлечение (неофициальный распаковщик, не опробованный мной, запущенный virustotal.com). В то время как NSIS
, похоже, использует обычные архивы, которые может открывать и извлекать стандартная архивная программа (7-zip и др.).
Общие приемы. Один из приемов - запустить
setup.exe
и посмотреть в1)
system's temp folder for extracted files
. Еще одна уловка - использовать2)
7-Zip, WinRAR, WinZip
или аналогичные инструменты архивирования, чтобы проверить, могут ли они прочитать формат. Некоторые заявляют об успехе к3)
opening the setup.exe in Visual Studio
. Я не использую технику.4)
And there is obviously application repackaging
- запись изменений, внесенных в компьютер после запуска установки, и его очистка - требует специального инструмента (большинство бесплатных инструментов приходят и уходят, Advanced Installer Architect и AdminStudio - крупные игроки).
ОБНОВЛЕНИЕ: краткое описание различных инструментов развертывания, используемых для создания установщиков: Как создать установщик Windows (подробные ссылки).
И более простой просмотр списка наиболее часто используемые инструменты разработки на данный момент (2018 г.) для более быстрого чтения и обзора.
И на хранение:
- Создайте MSI из извлеченных файлов установки (внизу)
- Относительно автоматической установки с использованием созданного Setup.exe с использованием файла проекта Installshield 2013 (.issuite) (различные типы файлов Installshield setup.exe)
- Какова цель административного установка инициирована с помощью msiexec / a?.
Просто отказ от ответственности: setup.exe
файл может содержать встроенный MSI, это может быть установщик устаревшего стиля (не MSI) или это может быть обычный исполняемый файл без каких-либо средств извлечения. «Обсуждение» ниже сначала представляет использование админ-образов для файлов MSI и способы извлечения файлов MSI из файлов setup.exe. Затем он предоставляет ссылки для работы с другими типами файлов setup.exe. Также см. Раздел комментариев.
ОБНОВЛЕНИЕ: несколько разделов были добавлены непосредственно ниже, перед описанием извлечения файла MSI с помощью административной установки. Наиболее важно сообщение об извлечении пакетов WiX setup.exe (новый ребенок в блоке). Помните, что "последнее средство" для поиска извлеченных файлов установки - это запустить программу установки и затем искать извлеченные файлы во временной папке (удерживайте клавишу Windows , нажмите R, введите %temp%
или %tmp%
и нажмите Enter) - хотя сначала попробуйте другие варианты - из соображений надежности.
Приносим свои извинения за "общий беспорядок" со всеми этими тяжелыми взаимосвязями. Я верю, что вы найдете то, что вам нужно, если достаточно покопаться в ссылках, но содержание действительно должно быть очищено и организовано лучше.
Общие ссылки:
Извлечь содержание:
Ссылки на поставщиков:
Техническое примечание: набор инструментов WiX теперь предоставляет setup.exe
файлы, созданные с помощью инструмента начальной загрузки Burn
, для извлечения которых требуется собственный dark.exe
декомпилятор этого инструментария. Запись используется для создания файлов setup.exe, которые могут устанавливать несколько встроенных MSI или исполняемых файлов в указанной последовательности. Вот пример команды извлечения:
dark.exe -x outputfolder MySetup.exe
Прежде чем вы сможете запустить такое извлечение, необходимо выполнить некоторые предварительные действия:
command prompt
, CD
в папке, где находится setup.exe
. Затем укажите указанную выше команду и нажмите EnterMSI или установщик Windows имеет встроенную поддержку для этого - извлечения файлов из файла MSI. Это называется административной установкой strong >. По сути, он предназначен для создания точки сетевой установки, из которой установка может быть запущена на многих целевых компьютерах. Это гарантирует, что исходные файлы всегда доступны для любых операций восстановления.
Обратите внимание, что запуск административной установки и использование zip-архива для извлечения файлов сильно отличается! Последний не регулирует макет мультимедиа в таблице мультимедиа, чтобы пакет был настроен на использование внешних исходных файлов - что это правильный путь. Всегда предпочитайте запускать фактическую установку администратора вместо любых извлеченных из архива zip-архивов. Что касается сжатия, на самом деле существует три разных алгоритма сжатия, используемых для файлов cab внутри MSI. формат файла: MSZip, LZX и сохранение (без сжатия). Все это выполняется правильно, выполняя установку администратора.
Важно: Установщик Windows кэширует установленные в системе файлы MSI для сценариев восстановления, изменения и удаления. Начиная с Windows 7 (MSI версии 5), файлы MSI теперь кэшируются в полном размере, чтобы не нарушить подпись файла, которая не позволяет выводить запрос UAC при запуске установки (известная проблема Vista). Это может привести к огромному увеличению потребления дискового пространства (несколько гигабайт для некоторых систем). Чтобы предотвратить кеширование огромного файла MSI, перед установкой необходимо выполнить установку пакета администратором. Таким образом компания с правильным развертыванием в управляемой сети будет делать что-то, и она удалит файлы cab и создаст точку сетевой установки с небольшим файлом MSI и другими файлами.
Рекомендуется узнать больше об установках администратора, поскольку это полезная концепция, и я написал сообщение о stackoverflow: Что инициируется ли административная установка с помощью msiexec / a?.
По сути, установка администратора важна для:
Пожалуйста, прочтите сообщение stackoverflow, указанное выше, для получения более подробной информации. Это очень важная концепция для системных администраторов, разработчиков пакетов, разработчиков установки, менеджеров выпусков и даже средний пользователь, чтобы увидеть, что они устанавливают и т. д.
Вы можете выполнить административную установку несколькими способами в зависимости от того, как поставляется установщик. По сути, он поставляется либо в виде файла MSI, либо в виде файла setup.exe.
Выполните эти команды из командной строки с повышенными привилегиями и следуйте инструкциям в графическом интерфейсе пользователя для интерактивных командных строк:
Файлы MSI:
msiexec /a File.msi
это для работы с графическим интерфейсом, вы также можете сделать это беззвучно:
msiexec /a File.msi TARGETDIR=C:\MyInstallPoint /qn
файлы setup.exe:
setup.exe /a
Файл setup.exe также может быть устаревшим (не MSI) или ужасным типом файлов Installscript MSI - хорошо известная ошибка. Тип проекта Installshield с гибридным нестандартным форматом MSI. По сути, это MSI с настраиваемым, более продвинутым графическим интерфейсом, но он также полон ошибок.
Для устаревших файлов setup.exe / a ничего не будет делать, но вы можете попробовать переключатель / extract_all: [путь], как описано в < a href = "http://www.itninja.com/static/090770319967727eb89b428d77dcac07.pdf" rel = "noreferrer"> этот PDF-файл. Это хороший справочник для тихой установки и других вещей. Другой ресурс - это этот список параметров командной строки Installshield setup.exe.
Файлы исправлений MSI (* .MSP) могут иметь формат применяется к образу администратора для правильного извлечения его файлов. 7Zip также сможет распаковать файлы, но они не будут отформатированы должным образом.
Наконец - последнее средство - если другой способ не работает, вы можете получить извлеченные установочные файлы, очистив временную папку в вашей системе, запустив setup.exe в интерактивном режиме и дождавшись первого диалогового окна. показывать. В большинстве случаев установщик извлекает кучу файлов во временную папку. Иногда файлы простые, иногда в формате CAB, но Winzip, 7Zip или даже Universal Extractor (не тестировал этот продукт) - могут их открыть.
setup.exe /x
или setup.exe /extract
. Также есть поиск без вывода сообщений, но он не прошел сканирование virustotal.com, поэтому я не буду ссылаться на него.
- person Stein Åsmul; 31.08.2017
ProgramFilesFolder
в качестве побочного продукта внутри TARGETDIR
. Это не просто извлечение файлов.
- person Nicke Manarin; 03.03.2020
Я предполагаю, что этот вопрос касался в основном InstallShield с учетом тегов, но в случае, если кто-то придет сюда с той же проблемой для пакетов на основе WiX (и, возможно, других), просто вызовите установщик с помощью / extract, например:
C:\> installer.exe /extract
Это поместит MSI в папку рядом с установщиком.
Начиная с параметра:
setup.exe /A
просит сохранить включенные файлы (включая MSI
).
Это может зависеть от программного обеспечения, создавшего setup.exe
.
Единственный способ сделать это - запустить exe и собрать MSI. Вы должны позаботиться о том, чтобы при преобразовании MSI с помощью MST они могли потеряться.
Я использую эту командную строку пакета:
SET TMP=c:\msipath
MD "%TMP%"
SET TEMP=%TMP%
start /d "c:\install" install.exe /L1033
PING 1.1.1.1 -n 1 -w 10000 >NUL
for /R "%TMP%" %%f in (*.msi) do copy "%%f" "%TMP%"
taskkill /F /IM msiexec.exe /T
echo "%TMP%"
в cmd
, чтобы найти временный путь, запустить программу установки, посмотреть, какой каталог создан в %TMP%
(например, {A6B23C96-C53A-4A71-9B8B-73E16B680A58}
), а затем вручную скопировать файлы из этого каталога в другое место.
- person m01; 19.06.2013
Запустите установщик, но не нажимайте кнопку Install>. потом
cd "%AppData%\..\LocalLow\Sun\Java"
и найдите свой файл MSI в одном из подкаталогов (например, jre1.7.0_25
).
Обратите внимание, что также потребуется Data1.cab
из этого подкаталога.
Нет необходимости использовать какие-либо инструменты !! Мы можем пойти по простому пути.
Я не знаю, какой инструмент создал вашу самораспаковывающуюся программу установки, поэтому мне придется дать общий ответ.
Большинство программ подобного рода извлекают файл пакета (.msi) в каталог TEMP. Это поведение по умолчанию для InstallShield Developer.
Без дополнительной информации я бы порекомендовал вам просто запустить установку, и после отображения первого диалогового окна MSI вы можете проверить свой каталог TEMP на наличие вновь созданного подкаталога или файла MSI. Перед отменой / остановкой установщика просто скопируйте этот файл MSI из папки TEMP. После этого вы можете отменить установку.