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

16

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

msiexec.exe / x ProductCode

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

SturdyErde
источник
Просто для справки: Как я могу найти 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, на вкладке «Таблицы» нажмите «Свойство» слева, затем справа найдите «Код продукта».

Брайан Вайн
источник
1

Свойство итогового номера редакции :

[T] Свойство «Сводка номера редакции» содержит список идентификаторов GUID кода продукта [...]

медина
источник
Это довольно расплывчатый ответ, но я нашел то, на что вы ссылались. Спасибо
SturdyErde