Найти 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.