Найти GUID пакета MSI


16

Как я могу найти GUID пакета MSI? Я хотел бы написать скрипт удаления программы на большом количестве рабочих столов, используя:

msiexec.exe / x ProductCode

Любая причина, почему это не будет работать для любых приложений, перечисленных в «Установка и удаление программ?»


Просто для справки: Как я могу найти GUID продукта установленной установки MSI? (при условии, что установка установлена ​​на самой машине - если не получить Orca из Windows SDK или другого инструмента упаковки ).
— Штейн Осмул

Ответы:


15

ОБНОВЛЕНИЕ : попробуйте этот ответ stackoverflow.com вместо этого: Как я могу найти GUID продукта установленной установки MSI? или даже этот: найти GUID из файла MSI .


Windows SDK инструмент Orca позволит вам открывать и просматривать все таблицы в файле MSI. Открыв MSI, вы можете либо перейти к таблице свойств и найти запись «код продукта», либо выбрать «Просмотр => Сводная информация ...» и найти запись «код пакета». Для удаления можно использовать либо пакет, либо руководство по продукту.

Увидеть скриншот Orca о том, как найти код продукта в MSI: WiX - значительное обновление при установке нескольких экземпляров.

Есть и другие способы найти GUID:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall

HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall

Похоже, вам нужно скачать MSI SDK, чтобы получить Orca. Если у вас нет доступа к Orca, и вы не можете загружать SDK, любой зритель, способный читать файл базы данных MSSQL (файл структурированного хранилища), должен иметь возможность открыть файл MSI и просмотреть его содержимое. Сделайте копию MSI, прежде чем открывать ее в программе просмотра, и откройте копию. Просто чтобы убедиться. После открытия перейдите к таблице свойств и найдите GUID продукта.

ОБНОВЛЕНИЕ : список бесплатных зрителей MSI (внизу) .

Также проверьте эти сообщения на stackoverflow.com с информацией о том, как удалить через Powershell :


Orca.exe может доставить массу хлопот, поскольку он доступен только в составе SDK. Если кто-то спешит, я рад отправить вам копию по электронной почте. На данный момент Microsoft, похоже, сделала его доступным только в полном SDK: microsoft.com/downloads/en/… . Но, как вы знаете, Microsoft меняет вещи почти ежедневно.
— Штейн Осмул

Получить SDK довольно просто, но вам нужно больше загружать. Поиск также может найти другие редакторы MSI, такие как InstEdit.
— SturdyErde

Вы можете использовать SuperOrca вместо Orca. Делает то же самое и гораздо проще поймать.
— Grimtech

Так HKEY_CLASSES_ROOTист слияние HKLM:\SOFTWARE\Classesи HKCU:\SOFTWARE\Classesна HKEY_CLASSES_ROOT\Installer\Products пребывает фактически в HKLM:\SOFTWARE\Classes\Installer\Productsсоотв. может быть, его HKCUаналог.
— TNT

7

Это ключ реестра:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{<guid>}

или если платформа x64, а приложение 32-битное:

HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{<guid>}

Кроме того, команда msiexec фактически содержится в подразделе "UninstallString!"
— dpurrington

2

Можно использовать легкий бесплатный инструмент, такой как InstEd . Просто откройте MSI, на вкладке «Таблицы» нажмите «Свойство» слева, затем справа найдите «Код продукта».


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.