( Примечание : я опубликовал вариант этого ответа на другом сайте StackExchange для аналогичного вопроса.)
lessmsi - отличный инструмент, который, безусловно, сработает, если вы захотите открыть его графический интерфейс и провести ручное исследование.
Если вы ищете быстрое решение, вы можете попробовать:
lessmsi l -tProperty <msi_name>
К сожалению, вполне вероятно, что приведенная выше команда не выведет свойства, которые вы ищете (sidenote: выходные данные отформатированы в csv).
Один из способов по существу гарантировать, что вы получите все возможные свойства, - это выполнить установку, восстановление или удаление с помощью файла MSI и зарегистрировать процесс. Следующая команда записывает только свойства и ничего больше:
<msi_name> /lp! <msi_property_logfile>
Указанная выше команда эквивалентна:
msiexec /lp! <msi_property_logfile> /i <msi_name>
Мой предпочтительный метод, однако, заключается в том, чтобы не фактически устанавливать / удалять / восстанавливать (и просто вместо этого извлекать). Преимущества этого метода по сравнению с lessmsi заключаются в том, что для него не требуется сторонняя утилита (т. Е. lessmsi ) и не требуется возиться с какими-либо установками. Учитывая, что у вас достаточно дискового пространства для фактической установки программы, вы можете сделать:
msiexec /a <msi_name> /lp! <msi_property_logfile> TARGETDIR=<absolute_path_to_extract_to>
Обратите внимание, что <absolute_path_to_extract_to>
может указывать на несуществующий каталог (команда создаст необходимые каталоги или потерпит неудачу).
Если вы по какой-либо причине ненавидите пользовательский интерфейс установки, вы можете добавить опцию /qr
, которая «уменьшит» и, возможно, удалит пользовательский интерфейс без ущерба для процесса регистрации свойств. Однако, будьте осторожны - если вы пойдете «ниже», чем сокращенный пользовательский интерфейс (то есть /qb
| /passive
или /qn
| /quiet
), в вашем <msi_property_logfile>
могут отсутствовать некоторые свойства.
Как только процесс завершится, вы просто откроете файл журнала и отметите строки, начинающиеся с Property(S):
/ Property(C):
. Вообще говоря, параметры / свойства, которые могут быть установлены для установки, регистрируются во ВСЕХ CAPS; например, ALLUSERS
можно установить ALLUSERS=1
, чтобы установка была для всех пользователей.
Таким образом, для только что приведенного примера установка в автоматическом режиме может выглядеть примерно так:
msiexec /i <msi_name> /passive ALLUSERS=1