Msiexec
Технология установщика Windows Installer использует msiexec.exe для установки пакетов MSI и MSP. Данный инструмент позволит получить полный контроль на процессов установки, позволяющий выбирать следующие опции:
опции установки (инсталяция, деинсталяция, установка с правами администратора и такая опция как разрекламировать продукт) опция отображения (полная, упрощенная или без панели установки при инсталяции) опция перезапуска (будет ли аппарат перезагружен после установки) опция записи лога опция обновления (применить или удалить обновления) опция починки (применяется только для установленных приложений) и также публичные функции, которые могут использоваться при установки приложений
Привычная форма msiexec в коммандной строке выглядит так:
msiexec.exe <install_option> <path_to_package> [package_parameters]
install_option - опции установки path_to_package - путь к пакету приложенния package_parameters - параметры пакета
Теперь перейдем к каждой опции и разберем её в деталях.
Install Options или опция установки
При запуске инсталяции пакета, то можно выбрать тип опции установки из следующих:
msiexec.exe [/i][/a][/j{u|m|/g|/t}][/x] <path_to_package>
/i - нормальная, обычная установка
/a - установка с правами администратора
/j - разрекламировать продукт
u - разрекламипрвать к конкретному пользователю
m - разрекламировать всем пользователям
/g - языковой идентификатор, используемый разрекламированным приложением
/t - применить изменения, с целью разрекламировать пакет
/x - удалить пакет
Примеры строк из командной строки:
msiexec.exe /i "C:\Primer.msi"
В данном случае была применна опция обыной установки пакета
Display Options или опция отображения
Пользовательский интерфейс можно сконфигурировать исходя из конечной цели продукта. К примеру, пакет или приложения, нацеленное на распростронения среди клиентов, должно иметь интерфейс, тогда как, пакет, проходящий через Group Policy может и вовсе не иметь интерфейся.
Msiexec настраивает интерфейс через следующие опции:
msiexec.exe /i <path_to_package> [/quiet][/passive][/q{n|b|r|f}]
/quiet - тихий режим (нет взаимодействия с пользователем) /passive - автоматический режим (при установки видно только шкалу инсталяции) /q - настройка уровня интерфейся: n - нет интерфейса n+ - нет интерфейся, кроме модального окна в конце инсталяции b - простой, базовый интерфейс b+ - Базовый интерфейсbasic с модальным окном в конце инсталяции. Окно не отображаетсяс в случае прерывания установки пользователем. Используя qb+! или qb!+ , чтобы спрятать кнопку [ Cancel ]. b- - базовый интерфейс с без модальных окон.Обратите внимание! /qb+- не используется на уровне интерфейса. Используйте qb-! или qb!- , чтобы спрятать кнопку [ Cancel ]. r - неполный интерфейс f - полный интерфейс
Примеры строк:
msiexec.exe /i "C:\Primer.msi" /qn
Restart Options или опция перезапуска
Иногда после установки программы или пакета необходимо перезагрузить аппарат для полного завершения инсталяции. Для этого нам помогут следующие опции:
msiexec.exe /i <path_to_package> [/norestart][/promptrestart][/forcerestart] /norestart - аппарат не будет перезагружен после установки /promptrestart - пользователь будет оповещен о перезагрузке аппарата /forcerestart - аппарат будет перезагружен после завершения установки
Примеры строк
msiexec.exe /i "C:\Primer.msi" /norestart
Logging Options или опция ведении лога
В случае debugging'а инсталяционого пакета можно изменить параметры лога для получение другой информации.
msiexec.exe [/i][/x] <path_to_package> [/L{i|w|e|a|r|u|c|m|o|p|v|x+|!|*}][/log]
<path_to_log>
/L - разрешить ведение логов i - включить сообщение о статусе w - включить нефатальные предупреждения e - включить все сообщения об ошибках a - оповестить о начале какого-либо действия r - включить записи, основанные на каких-либо действиях u - включить запросы пользователя c - включить начальные настройки интерфейса m - включить информация из-за сбоев нехватки память (out-of-memory) o - включить сообщения о заполенном дисковом пространстве p - включить опции терминала v - многословный вывод x - включить дополнительную информацию отладчика + - применить к существующему лог файлу ! - сбросить каждую строку в лог * - внести в лог всю информацию, кроме опции v и x /log - еквивалентно /l*
Примеры строк:
msiexec.exe /i "C:\Example.msi" /L*V "C:\package.log"
Update Options опция обновления
Плагин Windows Installer через командную строку может применить или откатить обновления (такие как патчи) через следующие опции:
msiexec.exe [/p][/update][/uninstall[/package<product_code_of_package>]] <path_to_package> /p - установить патч MSP. При "тихой" установки патча следует изменить опцию REINSTALLMODE на "ecmus" и REINSTALL на "ALL".Иначе патч попросту обновит MSI закешированное на коечное машине. /update - применить обновления (если несколько обновлений, то разделить их можно с помощью ";"). /uninstall - удалить обновление с продукта (если несколько обновлений, то разделить их можно с помощью ";") /package - определяет пакет для которого удалены обновления.
Примеры строк из командной строки:
msiexec.exe /p "C:\MyPatch.msp"
msiexec.exe /p "C:\MyPatch.msp" /qb REINSTALLMODE="ecmus" REINSTALL="ALL"
msiexec.exe /update "C:\MyPatch.msp"
msiexec.exe /uninstall {1BCBF52C-CD1B-454D-AEF7-852F73967318}
/package {AAD3D77A-7476-469F-ADF4-04424124E91D}
Repair Options или опция починки
Если вы установили пакет, то можно использовать командную строку Windows Installer для восстановления:
msiexec.exe [/f{p|o|e|d|c|a|u|m|s|v}] <product_code>
/f - восстановить пакет
p - восстановить только если остутствует файл
o - восстановить только если остутствует файл или версия устарела
e - восстановить только если остутствует файл или равное количество или версия устарела
d - восстановить только если остутствует файл или стоит другая версия
c - восстановить только если остутствует файл или контрольное сумма не совпадает
a - принужденно переустанавливает все файлы
u - восстанавливает все записи файлового регистра пользователя
m - восстанавливает все записи файлового регистра компьютера
s - восстанавливает существующие ярлыки
v - запустить с источника и перехешировать локальные пакеты
Примеры строк:
msiexec.exe /fa {AAD3D77A-7476-469F-ADF4-04424124E91D}
NB! верхняя строка GUID является кодом продукта MSI, который будет восстановлен
Применить публичные опции Названия публичный опций содержут в себе только заглавные буквы (к примеру PRIMER). Этот тип опций может быть применен через командную строку и будет выглядиить так: PRIMER="value"
Пример строк:
msiexec.exe /i "C:\Example.msi" MY_PROP="myValue"
[msiexec_Karin]