Как найти пакет установки msi

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 — т.е. из установочного файла приложения под Windows.

MSI, на самом деле, является бОльшей частью архивом.

Самое простое — это скачать и установить бесплатную утилиту 7-Zip, являющуюся архиватором с поддержкой кучи форматов: http://www.7-zip.org/.

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

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

C:> msiexec /a install.msi /qb targetdir=c:mydir

здесь install.msi — это имя установочного файла, который нужно распаковать, а c:mydir — это папка, в которую будут извлечены файлы.

PS. Не волнуйтесь за то, что при этом откроется окошко «Подготовка к установке» — инсталлер всего-лишь извлечет файлы, но саму установку не запустит и подчищать за собой не станет.

Были случаи, когда я забывал MSI или EXE-файл, с которого я установил программное обеспечение, и мне нужен путь к файлу установщика, чтобы использовать его в другом месте. Можно ли узнать MSI или EXE, с которого была установлена программа?

Вы можете попробовать посмотреть под:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstall

или же

HKEY_CLASSES_ROOTInstallerProducts (посмотрите под GUID для элементов SourceList)

64-битный путь будет немного другим. У меня нет точного, так как я сейчас управляю этим старым клункерным ПК.

ВАЖНО: Ни при каких обстоятельствах не удаляйте ничего из HKEY_CLASSES_ROOTInstallerProducts! Это база данных установщика Windows — она очень хрупкая, если ее взломать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками installer windows-installer.

Существует несколько способов установки программного обеспечения, а также ряд различных решений для создания установочного файла, позволяющего конечным пользователям установить продукт на свои системы. 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.

Для получения кода обновления:
https://stackoverflow.com/questions/46637094/how-can-i-find-the-upgrade-code-for-an-installed-msi-file/46637095#46637095

Краткая версия

Приведенная ниже информация значительно расширилась со временем и, возможно, стала слишком подробной. Как быстро получить коды товаров? (четыре подхода):

  1. Использовать Powershell "one-liner".

    Прокрутите вниз для просмотра скриншотов и пошаговых действий. Отказ от ответственности также ниже — незначительные или умеренные риски в зависимости от того, кого вы спросите. У меня работает нормально. Любое самовосстановление, вызванное этой опцией, обычно можно отменить. Однако проверки целостности пакета, которые запускаются, добавляют некоторый «шум» в журнал событий. Примечание! IdentifyingNumber является ProductCode (особенность WMI).

Быстрый запуск Powershell: удерживайте клавишу Windows, нажмите R, введите «powershell» и нажмите Enter
2. Использовать VBScript

Описан ниже в разделе «Альтернативные инструменты» (раздел 3). Этот вариант может быть более безопасным, чем Powershell, по причинам, подробно описанным ниже. По сути, он (намного) быстрее и не способен вызвать самовосстановление MSI, поскольку не проходит через WMI (он обращается к MSI COM API напрямую — с молниеносной скоростью). *Однако он более трудоемок, чем вариант с Powershell (несколько строк кода).
3. Поиск реестра

Некоторые клянутся, что ищут нужные вещи в реестре. Я не рекомендую такой подход — мне нравится обращаться к соответствующим API (или другими словами: к вызовам функций ОС). Всегда есть странные исключения, объясняемые только внутренними особенностями API-реализации:

  • HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstall
  • HKLMSOFTWAREWOW6432NodeMicrosoftWindowsCurrentVersionUninstall
  • HKCUSoftwareMicrosoftWindowsCurrentVersionUninstall
  1. Оригинальный MSI файл / WiX Source

    Вы можете найти Код продукта в Таблице свойств любого MSI файла (а также любое другое свойство). Однако GUID может быть переопределен (редко) преобразованием, применяемым во время установки, и, следовательно, не соответствовать GUID, под которым зарегистрирован продукт (подходы 1 и 2, описанные выше, сообщают реальный код продукта, зарегистрированный в Windows, в таких редких случаях).
    Вам нужен инструмент для просмотра файлов MSI. Список бесплатных инструментов, которые можно загрузить, см. в нижней части следующего ответа (или см. быстрый вариант ниже): https://stackoverflow.com/questions/48482545/how-can-i-compare-the-content-of-two-or-more-msi-files/48482546#48482546.
    ОБНОВЛЕНИЕ: Для удобства и потребности в скорости :-), скачайте SuperOrca без промедления и суеты с этой прямой ссылки — инструмент достаточно хорош для выполнения работы — установите, откройте MSI и перейдите прямо к таблице свойств и найдите строку ProductCode (всегда проверяйте на вирусы прямые ссылки — очевидно — вы можете использовать virustotal.com для этого — онлайн проверка с использованием десятков антивирусных и вредоносных программ для проверки того, что вы загружаете).

    Orca — это собственный инструмент Microsoft’, он устанавливается с Visual Studio и
    Windows SDK. Попробуйте найти Orca-x86_en-us.msi — в разделе
    Program Files (x86) и установите MSI, если найдете.

    А ниже вы найдете оригинальный ответ, который «органично разросся» до множества деталей.
    Возможно, вы увидите раздел «Установка MSI-пакетов» ниже, если вам нужно выполнить именно эту задачу.

    Получение кодов продуктов

    UPDATE: Если вам также нужен код обновления, проверьте этот ответ:
    https://stackoverflow.com/questions/46637094/how-can-i-find-the-upgrade-code-for-an-installed-msi-file/46637095#46637095 (извлекает связанные коды продуктов, коды обновления и названия продуктов в
    таблицу, аналогичную приведенной ниже).

    • Не можете использовать PowerShell? См. раздел «Альтернативные инструменты» ниже.
    • Нужна деинсталляция? См. раздел «Деинсталляция MSI-пакетов» ниже.
      Запустите Powershell (удерживая клавишу Windows, нажмите R, отпустите клавишу Windows, введите «powershell» и нажмите OK) и выполните команду ниже, чтобы получить список установленных пакетов MSI коды продуктов вместе с путем к локальному кэш-пакету и названием продукта (увеличьте окно PowerShell, чтобы избежать усеченных имен).
      Перед запуском этой командной строки, пожалуйста, прочитайте приведенный ниже отказ от ответственности (ничего опасного, просто некоторые потенциальные неудобства). В разделе 3 в разделе «Альтернативные инструменты» показан альтернативный способ получения той же информации с помощью VBScript, не связанный с WMI. Если вы пытаетесь удалить пакет, ниже есть раздел с примерами командных строк msiexec.exe:

вывод должен быть примерно таким:
введите здесь описание изображения
*Примечание! По какой-то странной причине «Код продукта»* в WMI называется «Идентификационный номер». Другими словами, на рисунке выше IdentifyingNumber является ProductCode.
Если вам нужно
запустить этот запрос удаленно для множества удаленных компьютеров*, смотрите раздел «Retrieve Product Codes From A Remote Computer*» ниже.

ОТВЕТСТВЕННОЕ ЗАЯВЛЕНИЕ (важно, пожалуйста, прочитайте перед выполнением команды!): Из-за странного дизайна Microsoft, любой вызов WMI к «Win32_Product»
(например, команда PowerShell, приведенная ниже) вызовет оценку
владения пакета
. Помимо того, что это достаточно медленно, в редких случаях это может > вызвать MSI.
вызвать самовосстановление MSI. Это может быть небольшой пакет или что-то
огромный — например, Visual Studio. В большинстве случаев этого не происходит, но
существует риск. Не запускайте эту команду прямо перед важной
встречей — это не опасно (она доступна только для чтения), но может
привести к долгому восстановлению в очень редких случаях
(я думаю, вы можете отменить
самовосстановление также — если оно активно не предотвращается данным пакетом, но оно перезапустится, если вы вызовете Win32_Product
снова, и это будет продолжаться, пока вы не позволите самовосстановлению завершиться — иногда оно может продолжаться, даже если вы позволите ему завершиться: https://stackoverflow.com/questions/5501028/how-can-i-determine-what-causes-repeated-windows-installer-self-repair/6066263#6066263).

И просто для записи: некоторые люди сообщают, что их журналы событий заполняются записями MsiInstaller EventID 1035 (см. ответ Code Chief’a) — по-видимому, это вызвано WMI-запросами к классу Win32_Product (лично я никогда такого не видел). Это *не напрямую связано с командой Powershell, предложенной выше, это в контексте общего использования WIM класса Win32_Product.
Вы также можете получить результат в виде списка (вместо таблицы):

В этом случае вывод будет выглядеть следующим образом:
введите здесь описание изображения

Получение кодов продуктов с удаленного компьютера

Теоретически вы должны иметь возможность указывать имя удаленного компьютера в самой команде. Вот та же команда, что и выше, запущенная на машине «RemoteMachine» (добавлена секция «-ComputerName RemoteMachine»):

Это может сработать, если вы работаете с правами администратора домена в соответствующем домене. В среде рабочей группы (малый офис / домашняя сеть) вам, вероятно, придется добавить учетные данные пользователя непосредственно в вызовы WMI, чтобы заставить его работать.
Кроме того, на удаленные соединения в WMI влияют (как минимум) Windows Firewall, настройки DCOM и User Account Control (UAC) (плюс любые дополнительные факторы, не связанные с Microsoft — например, реальные брандмауэры, программные брандмауэры сторонних производителей, программы безопасности различных видов и т.д.). Будет ли это работать или нет, зависит от вашей точной настройки.

  • Настройка удаленного подключения к WMI
  • Удаленное подключение к WMI с помощью PowerShell
    UPDATE: Обширный раздел об удаленном запуске WMI можно найти в этом ответе: https://stackoverflow.com/questions/46637094/how-can-i-find-the-upgrade-code-for-an-installed-msi-file/46637095#46637095. Похоже, что правило брандмауэра и подавление запроса UAC с помощью твика реестра может заставить все работать в сетевой среде рабочей группы. Не рекомендуется вносить изменения с точки зрения безопасности, но для меня это сработало.

    Альтернативные инструменты

    PowerShell требует установки .NET framework (в настоящее время, кажется, версия 3.5.1? Октябрь, 2017). Само приложение PowerShell может также отсутствовать на машине, даже если .NET установлен. Наконец, я считаю, что PowerShell может быть отключен или заблокирован различными системными политиками и привилегиями.
    Если это так, вы можете попробовать несколько других способов получения кодов продуктов. Я предпочитаю использовать VBScript — он быстрый и гибкий (но также может быть заблокирован на некоторых машинах, а написание сценариев всегда немного сложнее, чем использование инструментов).

  1. Начнем с встроенного в Windows WMI инструмента: wbemtest.exe.
  • Запустите wbemtest.exe (удерживая клавишу Windows, нажмите R, отпустите клавишу Windows, введите «wbemtest.exe» и нажмите OK).
  • Нажмите подключиться, затем OK (пространство имен по умолчанию — rootcimv2), затем снова нажмите «подключиться«.
  • Нажмите «Query» и введите эту WQL-команду (SQL flavor): SELECT IdentifyingNumber,Name,Version FROM Win32_Product и нажмите «Use» (или эквивалент — инструмент будет локализован).
  • Пример выходного скриншота (усеченный). Не самое приятное форматирование, но вы можете получить необходимые данные. IdentifyingNumber — код продукта MSI:
    wbemtest.exe
  1. Далее, вы можете попробовать использовать пользовательский, более полнофункциональный инструмент WMI, такой как WMIExplorer.exe.
  • Он не входит в состав Windows. Однако это очень хороший инструмент. Рекомендуется.
  • Проверьте его на сайте: https://github.com/vinaypamnani/wmie2/releases.
  • Запустите инструмент, нажмите Connect, дважды щелкните ROOTCIMV2
  • На вкладке «Query» введите следующий запрос SELECT IdentifyingNumber,Name,Version FROM Win32_Product и нажмите Execute.
  • Скриншот пропущен, приложение требует слишком много площади экрана.
  1. Наконец, вы можете попробовать VBScript для доступа к информации через интерфейс автоматизации MSI (основная функция Windows — она не связана с WMI).
  • Скопируйте приведенный ниже сценарий и вставьте его в файл *.vbs на рабочем столе, а затем попробуйте запустить его двойным щелчком мыши. Ваш рабочий стол должен быть доступен для записи, или вы можете использовать любое другое доступное для записи место.
  • Это не лучший VBScript. Терпкость была предпочтительнее, чем обработка ошибок и полнота, но он должен выполнять работу с минимальной сложностью.
  • Выходной файл создается в папке, из которой вы запускаете сценарий (папка должна быть доступна для записи). Выходной файл называется msiinfo.csv.
  • Дважды щелкните файл, чтобы открыть его в программе для работы с электронными таблицами, выберите запятую в качестве разделителя при импорте — ИЛИ — просто откройте файл в Блокноте или любой программе для просмотра текста.
  • Открытие в электронной таблице позволит расширить возможности сортировки.
  • Этот сценарий можно легко адаптировать, чтобы показать значительное количество дополнительных деталей об установке MSI. Демонстрацию этого можно найти здесь: https://stackoverflow.com/questions/28963089/how-to-find-out-which-products-are-installed-newer-product-are-already-install/28971679#28971679.

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

Вы, конечно, можете получить доступ к этой информации из вашего приложения.
вызывая интерфейс автоматизации MSI (на базе COM) ИЛИ C++
функции установщика MSI (Win32 API). Или даже использовать WMI-запросы из приложения, как это сделано в примерах выше с помощью PowerShell, wbemtest.exe или WMIExplorer.exe.

Деинсталляция MSI-пакетов

Если вы хотите удалить MSI-пакет, для которого вы нашли код продукта, вы можете сделать это следующим образом, используя увеличенную командную строку (найдите cmd.exe, щелкните правой кнопкой мыши и запустите от имени администратора):
Вариант 1: Основная, интерактивная деинсталляция без ведения журнала (быстро и просто):

Быстрое объяснение параметров:

Вы также можете включить (подробное) протоколирование и работать в тихом режиме, если хотите, что приводит нас к варианту 2:
Вариант 2: Тихая деинсталляция с подробным протоколированием (лучше для пакетных файлов):

Быстрое объяснение параметров:

Здесь есть полный справочник по деинсталляции MSI (различные способы деинсталляции MSI-пакетов): https://stackoverflow.com/questions/450027/uninstalling-an-msi-file-from-the-command-line-without-using-msiexec/1055933#1055933. Существует множество различных способов деинсталляции.
Если вы пишете пакетный файл, пожалуйста, посмотрите раздел 3 в вышеупомянутом ответе по ссылке для нескольких распространенных и стандартных вариантов командной строки деинсталляции.
И краткая ссылка на msiexec.exe (параметры командной строки) (обзор командной строки для msiexec.exe из MSDN). А также версия Technet.

Получение других свойств / информации MSI (например, код обновления)

ОБНОВЛЕНИЕ: пожалуйста, найдите новый ответ о том, как найти код обновления для установленных пакетов вместо ручного поиска кода в файлах MSI. Для
установленных пакетов это гораздо надежнее. Если пакет не
установлен, вам все равно придется искать в MSI-файле (или в исходном файле.
используемого для компиляции MSI), чтобы найти код обновления. Оставляем в более старом разделе ниже:
Если вы хотите получить UpgradeCode или другие свойства MSI, вы можете открыть кэшированный установочный MSI для продукта из места, указанного «LocalPackage» на изображении выше (что-то вроде: C:WINDOWSInstaller50c080ae.msi — это шестнадцатеричное имя файла, уникальное для каждой системы). Затем вы смотрите в таблице «Property table» на UpgradeCode (возможно, UpgradeCode переопределен в трансформации — чтобы быть уверенным, что вы получите правильное значение, вам нужно получить код программно из системы — я предоставлю скрипт для этого в ближайшее время. Однако код обновления, найденный в кэшированном MSI, обычно является правильным).
Чтобы открыть кэшированные файлы MSI, используйте Orca или другой инструмент упаковки. Вот обсуждение различных инструментов (подойдет любой из них): https://stackoverflow.com/questions/1544292/what-installation-product-to-use-installshield-wix-wise-advanced-installer/1546941#1546941. Если у вас не установлен такой инструмент, то лучше всего попробовать Super Orca (он прост в использовании, но не тестировался мной).
UPDATE: вот новый ответ с информацией о различных бесплатных продуктах, которые можно использовать для просмотра файлов MSI: https://stackoverflow.com/questions/48482545/how-can-i-compare-the-content-of-two-or-more-msi-files/48482546#48482546
Если у вас установлена Visual Studio, попробуйте найти Orca-x86_en-us.msi в разделе Program Files (x86) и установить его (это собственная, официальная программа просмотра и редактирования MSI от Microsoft). Затем найдите Orca в меню «Пуск». Время пройдёт мгновенно :-). Технически Orca устанавливается как часть Windows SDK (не Visual Studio), но Windows SDK поставляется в комплекте с Visual Studio. Если у вас нет установленной Visual Studio, возможно, вы знаете кого-то, у кого она установлена? Просто попросите их найти этот MSI и отправить вам (это крошечный файл размером в полмиллибайта) — это займет у них несколько секунд. UPDATE: вам понадобится несколько CAB-файлов, а также MSI — их можно найти в той же папке, где находится MSI. Если нет, вы всегда можете скачать Windows SDK (он бесплатный, но большой — и все, что вы установите, будет замедлять работу вашего компьютера). Я не уверен, какая часть SDK устанавливает Orca MSI. Если вы знаете, пожалуйста, отредактируйте и добавьте подробности здесь.

  • Вот более полная статья по вопросу удаления MSI: https://stackoverflow.com/questions/450027/uninstalling-an-msi-file-from-the-command-line-without-using-msiexec/1055933#1055933
  • Вот похожая статья с несколькими дополнительными вариантами для получения информации MSI с помощью реестра или кэшированного msi: https://stackoverflow.com/questions/11251034/find-guid-from-msi-file?

    Похожие темы (для справки и легкого доступа — я должен почистить этот список):

  • https://stackoverflow.com/questions/5063129/how-to-find-the-upgrade-code-productcode-of-an-installed-application-in-win-7
  • https://stackoverflow.com/questions/17936064/how-can-i-find-the-upgrade-code-for-an-installed-application-in-c
  • https://stackoverflow.com/questions/24326657/wix-how-to-uninstall-previously-installed-application-that-is-installed-using-d/24340339#24340339
  • https://stackoverflow.com/questions/22860622/wix-doing-a-major-upgrade-on-a-multi-instance-install/22862283#22862283
  • https://stackoverflow.com/questions/28963089/how-to-find-out-which-products-are-installed-newer-product-are-already-install/28971679#28971679 (с использованием VBScript)
  • https://stackoverflow.com/questions/21491631/how-to-uninstall-with-msiexec-using-product-id-guid-without-msi-file-present/21502621#21502621
  • Найти GUID пакета MSI

Понравилась статья? Поделить с друзьями:
  • Как найти айпад в комнате
  • Если свиная печень получилась жесткой как исправить
  • Как найти рейс по номеру брони
  • Как исправить полинялые вещи
  • Stalker как найти борова