Какова цель административной установки, инициированной с помощью msiexec/a?

Технология установщика Windows поддерживает административную установку. Командная строка для запуска административной установки: " msiexec/a setup.msi". Я хочу понять цель этого типа установки и в каких сценариях они полезны?

Ответ 1

В реальном мире он не имеет такой ценности. MSI был разработан еще в один день, когда на компьютере обычно был жесткий диск емкостью 2-20 гб. Они придумали все эти сценарии рекламы "запуска из источника", которые тогда казались действительно классными, но никогда в действительности не попадались в реальном мире.

Сегодня, что для меня, разработчика установки, дает мне простой способ "извлечь" MSI и проверить его содержимое. Что об этом.

Ответ 2

Административная установка: добавление некоторых практических примеров.

1) Тихая работа извлечения (без графического интерфейса):

msiexec.exe /A MySetup.msi TARGETDIR=D:\Extract\ /QN /L*V D:\Extract.log

2) Интерактивное извлечение (настройка GUI для извлечения):

msiexec.exe /A MySetup.msi 

Быстрое объяснение параметров:

- /A - run administrative installation sequence.
- /QN - run completely silently (alternatively: /QB! for semi-silent).
- /L*V "Extract.log" - create verbose log file.
- TARGETDIR - destination path for file extraction (top level folder).

3) Некоторые файлы setup.exe могут запускать административную установку через setup.exe/a


msiexec.exe командная строка:


Назначение административных установок

Административные установки обычно наиболее полезны в сценариях крупномасштабного развертывания, когда программное обеспечение устанавливается на многих компьютерах одновременно, например, в большом банке с тысячами рабочих станций. На самом деле это очень важно для таких сценариев развертывания. Как упаковщик приложений, первое, что вы склонны делать, это установить администратором, чтобы проверить содержимое и структуру файла MSI.

Операции в административной установке

Сама программа установки администратора просто извлекает файлы из внутренних файлов cab и настраивает медиа -формат файла MSI, чтобы использовать извлеченные файлы для установки вместо внутренних файлов cab. Конечным результатом является аккуратная иерархия папок, показывающая, куда файлы будут попадать в целевую систему, и файл MSI меньшего размера, чем исходный, теперь очищенный от внутренних cab файлов. Операция не вносит никаких изменений в целевую систему, кроме этого извлечения, если MSI не спроектирован специально для этого, что является серьезной ошибкой проектирования почти во всех случаях. Исключения, вне моей головы, могут включать в себя настройку файлов лицензирования или пост-обработку файлов для развертывания каким-либо образом. Я никогда не видел таких конструкций в реальной жизни, но есть возможность добавить пользовательские действия для установок администратора.

Использование административных установок

После установки администратором извлеченные файлы можно поместить в общую сетевую папку, доступную с тысяч рабочих станций, и установить ее оттуда. Обычно это делается с помощью специализированного программного обеспечения для развертывания, такого как SCCM (ранее Microsoft SMS) или аналогичного. Однако в некоторых случаях установка может быть инициирована пользователем на рабочей станции вручную. Критическим преимуществом этой установки общего сетевого ресурса является то, что операции самовосстановления и последующие установки исправлений и обновлений на рабочие станции имеют доступ к исходным исходным файлам, поэтому установки завершаются успешно. Возможно, вы столкнулись с тем, что Microsoft Office внезапно попросит вас вставить установочные компакт-диски, чтобы переустановить несколько файлов. Это может произойти и с рабочими станциями, если источники не будут доступны в Интернете. Это требование к источнику может измениться в будущем, так как Microsoft кэширует все больше и больше содержимого программы установки на каждом локальном компьютере (Windows 7 и более поздние версии, ОБНОВЛЕНИЕ, январь 2018 г. Более подробные сведения об этом кэшировании см. В этом ответе. Почему для продолжения MSI требуется исходный MSI файл? с деинсталляцией?). Я должен добавить, что вы также можете поместить неэкстрагированный MSI файл в такое место, не распаковывая его через образ администратора, но установка с помощью администратора позволяет загружать любой файл отдельно (без огромной загрузки из кабины). Для огромных файлов MSI это важно, и я предпочитаю образы администратора в качестве источника установки, чтобы сделать исправление более надежным - это субъективное предпочтение, но оно связано с реальным опытом.

Административные установки и исправления

Наконец, для создания патчей MSI обычно требуется установка администратора для исходной установки, а также для новой установки. Затем создается файл исправления установщика Windows на основе различий между новой и старой папками установщика. Как таковые установки администратора имеют решающее значение для последующего создания файлов исправлений. Это относится к Wise for Windows Installer - единственному продукту, который я нашел для создания действительно надежных исправлений в реальной жизни (этот продукт уже не в продаже, некоторые подробности здесь: какой установочный продукт использовать? InstallShield, WiX, Wise, Advanced Установщик и т. Д.). Опять субъективное наблюдение, основанное на всесторонних реальных испытаниях.

Также возможно установить исправление установки администратора, если вы получаете MSI и MSP (файл пути) от поставщика. Вы извлекаете MSI и исправляете образ администратора с помощью MSP. Целевая папка будет тогда содержать более новый MSI и любые новые файлы (при условии, что исправление администратора работает, что обычно не происходит в моем опыте).

"Беги от источника"

Крис упоминает "Запускать из исходного кода", и это действительно довольно бесполезная и устаревшая концепция, когда некоторые файлы в инсталляции могут быть оставлены на общем сетевом ресурсе и доступны прямо оттуда. Честно говоря, я не пробовал эту функцию в течение многих лет.

Эта функция используется редко, но я полагаю, что она может быть полезна в сценариях, где общий набор файлов ресурсов должен быть доступен для всех рабочих станций, и вы хотите избежать массового дублирования. Исправления к файлам ресурсов могут быть затем развернуты с помощью "патча установки администратора", как описано выше, без переустановки чего-либо на рабочие станции (насколько хорошо это работает, неясно - причиной может быть отсутствие использования этой функции).

Большой набор программного обеспечения с множеством разнородных модулей, в которых разные люди используют лишь немногие, может значительно ускорить установку и использование, установив лишь несколько необходимых функций, а оставшуюся можно будет запускать из исходного кода или устанавливать при первом использовании. Это ускорит установку и последующие установки исправлений и может оставить потенциально небезопасные и ненужные двоичные файлы вне системы. Этот последний момент может быть важен в закрытых средах. Однако в реальной жизни я видел, как исправления изменяют объявленные функции для локальной установки после исправления, что является очень странным и нежелательным поведением, но очень распространенным в опыте. На практике я нахожу "запуск из источника" или рекламируемые функции очень ограниченным использованием. Обычно лучше разбить установку на две части, одну для клиента и одну для установки сервера.


ОБНОВЛЕНИЕ:

Вот новое краткое изложение той же проблемы: установка администратора и его использование (извлечение файлов и далее). Пожалуйста, прочитайте также комментарий ниже "изменилось поведение MSI в Windows 7 и более поздних версиях".

Ответ 3

Скажите, что вам нужно установить продукт X на некоторое количество машин, и вам также понадобится применить некоторые исправления для X. Вместо того, чтобы применять ряд патчей на каждой машине, вы можете сделать это:

  • Создайте административный образ для X
  • Применить патчи к административному изображению
  • Установите X на каждом компьютере с помощью исправленного изображения

Это может сэкономить время и силы, и вы узнаете, что все ваши компьютеры наверняка будут на одном уровне патчей.